Skip to content

Conversation

dkimitsa
Copy link
Contributor

@dkimitsa dkimitsa commented Jan 21, 2019

Update: works for me, works for topic starter (Eric Nondahl).

This shell fix Invalid Swift Support issue when uploading to AppleStore.

root case assumed: during #340 there was introduced defect that swift libs copy in 'SwiftSupport' also get stripped of ARM64E arch as result copy of these files were modified. As part of fix this commit does:

  • fixed issue with modifying of swift libs in 'SwiftSupport'
  • now all dynamic frameworks/libs/appext are being stripped to keep only archs same as in app (similar fix done in [rules_apple] (bazelbuild/rules_apple@b238ee5)). This also reduce final IPA size UPDATE: reverted to strip only ARM64E
  • as all extra arches are being stripped introduced in fix #338 -- removing arch64e #340 stripArchs option is not required anymore and was removed` UPDATE: this option was removed as well as it is enough only to strip ARM64E
  • added functionality to strip bitcode from frameworks/libs/appext similar how XCode does, it also saves final IPA size

…loading to AppleStore.

root case assumed: during MobiVM#340 there was introduced defect that swift libs copy in 'SwiftSupport' also get stripped of ARM64E arch as result copy of these files were modified. As part of fix this commit does:
* fixed issue with modifying of swift libs in 'SwiftSupport'
* now all dynamic frameworks/libs/appext are being stripped to keep only archs same as in app (similar fix done in [rules_apple](bazelbuild/rules_apple@b238ee5)). This also reduce final IPA size
* as all extra arches are being stripped introduced in MobiVM#340 `stripArchs` option is not required anymore and was removed
* added functionality to strip bitcode from frameworks/libs/appext similar how XCode does, it also saves final IPA size
@dkimitsa
Copy link
Contributor Author

  • also it puts unmodified swift libs to 'SwiftSupport/iphoneos' now similar as Xcode does

@dkimitsa
Copy link
Contributor Author

approach to strip every not used arch slice was bad, Apple rejects such SwiftSupport. Reverted back to removing simulator archs and ARM64E which seems to be working for me

@ericnondahl
Copy link
Contributor

This fixes our issue with an advertising library that required the swift support libs, and the failed "does not match" swift validation email from apple testflight.

@florianf
Copy link
Collaborator

@dkimitsa thanks once again! Is this mergeable?

@dkimitsa
Copy link
Contributor Author

@florianf it seems to be working for me and Eric, but having more confirmation appreciated, changing thing is strip bitcode on dynamic frameworks, didnt test it on framework without bitcode, this is the only moment

@dkimitsa
Copy link
Contributor Author

checked bitcode_strip on dynamic lib without bitcode -- doesn't fail. seems to be ok

@florianf florianf merged commit 68430e0 into MobiVM:master Jan 28, 2019
@florianf
Copy link
Collaborator

Thx!

@dkimitsa dkimitsa deleted the swiftsupport_fix branch February 14, 2019 11:05
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