Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

All Armchair .lproj files are included with cocoapods "use_frameworks! :linkage => :static" #144

Open
lukemmtt opened this issue Aug 31, 2021 · 0 comments

Comments

@lukemmtt
Copy link

lukemmtt commented Aug 31, 2021

Update:
I've recognized that this is occurring because the .lproj directories in Armchair are not contained in a .bundle file. This was previously brought up 5 years ago in issue #67 .

Situation:
I've used Armchair for quite a while without issues. Recently I learned that I could improve startup performance of my app by replacing "use_frameworks!" in my podfile with "use_frameworks! :linkage => :static".

See this link for details: https://firebase.google.com/docs/ios/link-firebase-static-dynamic

Expected behavior:
My project and all pods work exactly as they did before.

Actual behavior:
I archived my app and submitted it to the app store, and all of armchair's ~30 supported languages were listed as languages that my app supported, even though they are not selected as such in my Project settings.

This is bad, because if a user whose device was set to (for instance) Arabic, the app would attempt to display in Arabic, and look awful because I haven't localized anything in arabic.

I dug into my app's archive (Show Package Contents) in the Xcode organizer, and found that all of Armchair's .lproj directories (and their corresponding ArmchairLocalizable.strings files) were being copied into my app's Resources folder at build time. Thus, Armchair's localizations were being interpreted as my app's localizations by App Store Connect.

No other pod with localized strings exhibits this behavior (Siren, for instance https://github.com/ArtSabintsev/Siren )

Armchair's  lproj files copied into my archive

Here are a series of screenshots showing what Xcode's Build Phases shows with Static Linkages enabled and static linkages disabled.

Static linkages enabled:
copy pods resources with static linkages enabled

Static linkages disabled:
embed pods frameworks with static linkages disabled

"Show package contents" on my app's Archive when static linkages are enabled, showing armchair's .lproj directories commingled with my own lproj directories
Armchair's  lproj files copied into my archive

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

No branches or pull requests

1 participant