Do not codesign transitive dependency iOS pod resource bundles#111714
Do not codesign transitive dependency iOS pod resource bundles#111714auto-submit[bot] merged 2 commits intoflutter:masterfrom
Conversation
| 'pod', | ||
| <String>['repo', 'update'], | ||
| environment: <String, String>{ | ||
| 'LANG': 'en_US.UTF-8', |
There was a problem hiding this comment.
Out of curiosity, what kind of bad things could happen if we don't override the LANG?
There was a problem hiding this comment.
A harmless warning #45710 CocoaPods/CocoaPods#9347
The tool does this
but this is invoked outside the tool. The fewer avoidable warnings in the logs the better, imo.
There was a problem hiding this comment.
Never mind, I fixed this at some point, exec, eval are getting LANG added later: #82308
| /// adding Flutter to an existing iOS app. | ||
| Future<void> main() async { | ||
| await task(() async { | ||
| // Update pod repo. |
There was a problem hiding this comment.
[module_test_ios] [STDOUT] stdout: [!] CocoaPods could not find compatible versions for pod "GoogleSignIn":
[module_test_ios] [STDOUT] stdout: In Podfile:
[module_test_ios] [STDOUT] stdout: google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/ios`) was resolved to 0.0.1, which depends on
[module_test_ios] [STDOUT] stdout: GoogleSignIn (~> 6.2)
[module_test_ios] [STDOUT] stdout:
[module_test_ios] [STDOUT] stdout: None of your spec sources contain a spec satisfying the dependency: `GoogleSignIn (~> 6.2)`.
There was a problem hiding this comment.
Thanks. I should start inline commenting failing builds on my fix PRs.
| 'CODE_SIGN_IDENTITY=-', | ||
| 'EXPANDED_CODE_SIGN_IDENTITY=-', | ||
| 'CONFIGURATION_BUILD_DIR=${objectiveCBuildDirectory.path}', | ||
| 'BUILD_DIR=${objectiveCBuildDirectory.path}', |
There was a problem hiding this comment.
BUILD_DIR is used to construct CONFIGURATION_BUILD_DIR, as well as a few other build settings that were required to move the resource bundle to the right place.
There was a problem hiding this comment.
Oh, I asked what this was right after you commented, thanks
There was a problem hiding this comment.
I should have submitted them before requesting review. You're too speedy 🙂
| // Resources should be embedded. | ||
| checkDirectoryExists(path.join(ephemeralIOSHostApp.path, 'Frameworks', 'GoogleSignIn.framework', 'GoogleSignIn.bundle')); |
There was a problem hiding this comment.
The resources are localized string files, btw
| objectiveCBuildDirectory.path, | ||
| 'Debug-iphoneos', |
There was a problem hiding this comment.
BUILD_DIR doesn't include Debug-iphoneos so now it's being added.
|
ETA to release this to stable channel ? |
|
Soon, this has already merged into the next hotfix branch: #111759 |
Bundles can contain resources like images and localization files. They are embedded in the framework and should not be codesigned. Xcode 14 changed behavior and is erroneously codesigning these. CocoaPods has not yet added a workaround on their side CocoaPods/CocoaPods#11402.
Confirms this also works for add-to-app hosts.
Fixes #111475
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.