Skip to content

iOS: embed the appex itself, not Xcode's archive symlink to it - #585

Merged
defiantnerd merged 1 commit into
free-audio:nextfrom
Audio-Damage-Inc:ios-embed-appex-follow-link
Oct 8, 2026
Merged

defiantnerd merged 1 commit into
free-audio:nextfrom
Audio-Damage-Inc:ios-embed-appex-follow-link

Conversation

@Crandall1

Copy link
Copy Markdown

Archiving an app built with target_add_auv3_standalone_ios_wrapper and uploading it to App Store Connect fails validation:

ITMS-90332: Invalid Symbolic Link - The symbolic link 'PlugIns/.appex' resolves to an invalid location.

Under xcodebuild archive, the AUv3 target's $<TARGET_BUNDLE_DIR> is a symbolic link Xcode points at its intermediates (.../ArchiveIntermediates/<scheme>/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/<name>.appex). ios_embed_appex.sh copies it with cp -R, which copies the link rather than the directory, so the archived app's PlugIns/<name>.appex is a link to an absolute DerivedData path. Regular (non-archive) builds are unaffected, since the path is a real directory there.

The fix is cp -RH, which follows the one link named on the command line and copies everything inside the appex as it is.

🤖 Generated with Claude Code

Under an Archive the appex's build-products path is a symbolic link to
Xcode's intermediates, and cp -R copied the link: App Store Connect
rejected the upload with ITMS-90332 at PlugIns/<name>.appex. cp -RH
follows that one link.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@baconpaul

Copy link
Copy Markdown
Collaborator

Good change - agree @defiantnerd ?

@Crandall1

Copy link
Copy Markdown
Author

Giving everything a good workout. :-)

@defiantnerd
defiantnerd merged commit 527a374 into free-audio:next Oct 8, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants