-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Do not codesign transitive dependency iOS pod resource bundles #111714
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
Conversation
| 'pod', | ||
| <String>['repo', 'update'], | ||
| environment: <String, String>{ | ||
| 'LANG': 'en_US.UTF-8', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, what kind of bad things could happen if we don't override the LANG?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A harmless warning #45710 CocoaPods/CocoaPods#9347
The tool does this
| 'LANG': 'en_US.UTF-8', |
but this is invoked outside the tool. The fewer avoidable warnings in the logs the better, imo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I asked what this was right after you commented, thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The resources are localized string files, btw
| objectiveCBuildDirectory.path, | ||
| 'Debug-iphoneos', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BUILD_DIR doesn't include Debug-iphoneos so now it's being added.
christopherfujino
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
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.