Sync Ios Config Task
Explicit legacy migration for a source Info.plist, project.pbxproj, Podfile, and Swift imports. It is deliberately non-cacheable and always computes the complete enabled text plan before writing. All targets are contained, symlink-free, staged, locked, and committed as one recoverable batch; write-once backups are created when the backup input is enabled. Swift discovery does not follow links and is bounded by depth and visited-entry count; all input snapshots and rendered outputs share a cumulative pre-commit budget.
pbxproj changes are allowed only for targetNames, or for the sole application target when that list is empty. Parser uncertainty, missing settings, and target ambiguity abort the whole plan. When propagateLogo is enabled, every selected configuration must declare ASSETCATALOG_COMPILER_APPICON_NAME; it is aligned to the configured appiconsetDir catalog rather than leaving installed assets disconnected from the application. Shared-module migration requires both iosPreviousSharedModuleName and iosSharedModuleName; it never guesses from a Podfile.