-
Notifications
You must be signed in to change notification settings - Fork 58
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
XCFramework setup #5695
Closed
Closed
XCFramework setup #5695
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mokagio
force-pushed
the
mokagio/ios-xcframework-setup
branch
from
April 22, 2023 12:14
74fe5db
to
1ea5a88
Compare
Wanna run full suite of Android and iOS UI tests? Click here and 'Approve' CI job! |
mokagio
force-pushed
the
mokagio/ios-xcframework-setup
branch
from
April 22, 2023 16:26
1ea5a88
to
dcac8e8
Compare
Done in a dedicated commit, which should help renaming the folder without conflicts in a rebase.
This was done with the BuildSettingExtractor app, https://buildsettingextractor.com. These settings are currently unused.
Done in a dedicated commit to make sure nothing was lost in the process by checking the diff.
Notice that I had to manually remove `arm64-darwin-21` from `Gemfile.lock` even though `.bundle/config` has options that should have prevented it from being added. The good news is that if I run `bundle install` again, no new entry is added to `PLATFORMS`.
Otherwise, they become a single string and `xcodebuild` doesn't behave as expected.
Notice how `ENABLE_MODULE_VERIFIER` had to be turned to `NO`. Otherwise, the build would have failed with the following errors: ``` Showing All Errors Only VerifyModule /Users/gio/Developer/a8c/gutenberg-mobile/ios-xcframework/DerivedData/XCFrameworkScaffold/Build/Products/Debug-iphonesimulator/Gutenberg.framework (in target 'Gutenberg' from project 'XCFrameworkScaffold') cd /Users/gio/Developer/a8c/gutenberg-mobile/ios-xcframework /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/modules-verifier /Users/gio/Developer/a8c/gutenberg-mobile/ios-xcframework/DerivedData/XCFrameworkScaffold/Build/Products/Debug-iphonesimulator/Gutenberg.framework --clang /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --diagnostic-filename-map /Users/gio/Developer/a8c/gutenberg-mobile/ios-xcframework/DerivedData/XCFrameworkScaffold/Build/Intermediates.noindex/XCFrameworkScaffold.build/Debug-iphonesimulator/Gutenberg.build/Gutenberg-diagnostic-filename-map.json --sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.4.sdk --intermediates-directory /Users/gio/Developer/a8c/gutenberg-mobile/ios-xcframework/DerivedData/XCFrameworkScaffold/Build/Intermediates.noindex/XCFrameworkScaffold.build/Debug-iphonesimulator/Gutenberg.build/VerifyModule --target arm64-apple-ios13.0-simulator --language objective-c --language objective-c++ --standard gnu11 --standard gnu++20 DerivedData/XCFrameworkScaffold/Build/Intermediates.noindex/XCFrameworkScaffold.build/Debug-iphonesimulator/Gutenberg.build/VerifyModule/Gutenberg_objective-c++_arm64-apple-ios13.0-simulator_gnu++20/Test/Test.framework/Headers/Test.h:1:9: error: (fatal) could not build module 'Gutenberg' DerivedData/XCFrameworkScaffold/Build/Intermediates.noindex/XCFrameworkScaffold.build/Debug-iphonesimulator/Gutenberg.build/VerifyModule/Gutenberg_objective-c_arm64-apple-ios13.0-simulator_gnu11/Test/Test.framework/Headers/Test.h:1:9: error: (fatal) could not build module 'Gutenberg' DerivedData/XCFrameworkScaffold/Build/Products/Debug-iphonesimulator/Gutenberg.framework/Headers/Gutenberg-Swift.h:264:9: error: (fatal) module 'React' not found DerivedData/XCFrameworkScaffold/Build/Intermediates.noindex/XCFrameworkScaffold.build/Debug-iphonesimulator/Gutenberg.build/VerifyModule/Gutenberg_objective-c++_arm64-apple-ios13.0-simulator_gnu++20/Test/Test.framework/Headers/Test.h:1:9: (fatal) could not build module 'Gutenberg' DerivedData/XCFrameworkScaffold/Build/Intermediates.noindex/XCFrameworkScaffold.build/Debug-iphonesimulator/Gutenberg.build/VerifyModule/Gutenberg_objective-c_arm64-apple-ios13.0-simulator_gnu11/Test/Test.framework/Headers/Test.h:1:9: (fatal) could not build module 'Gutenberg' DerivedData/XCFrameworkScaffold/Build/Products/Debug-iphonesimulator/Gutenberg.framework/Headers/Gutenberg-Swift.h:264:9: (fatal) module 'React' not found ``` That is, during the "Verify Modularization" step, `React` can't be found. Disabled the modularization verification was the only "fix" that I could find. The result of that step doesn't seem to interfere with the ability to distribute this as an XCFramework and to use it successfully in a client app.
That env var was ignored, eg in https://buildkite.com/automattic/gutenberg-mobile/builds/5454#0187d5e1-cc1c-42bc-8678-c79c68072d02/1-2 ```⚠️ Warning: Ignored BUILDKITE_GIT_CLONE_FLAGS ```
mokagio
force-pushed
the
mokagio/ios-xcframework-setup
branch
from
May 8, 2023 06:31
d22bf5d
to
405605d
Compare
The experiment bore it's fruit and a production-worthy version is now on |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP
To test:
PR submission checklist: