Skip to content

Prevent macOS individual pod framework signing#82048

Merged
fluttergithubbot merged 1 commit into
flutter:masterfrom
jmagman:macos-pod-signing
May 11, 2021
Merged

Prevent macOS individual pod framework signing#82048
fluttergithubbot merged 1 commit into
flutter:masterfrom
jmagman:macos-pod-signing

Conversation

@jmagman

@jmagman jmagman commented May 7, 2021

Copy link
Copy Markdown
Member

macOS frameworks shouldn't be individually codesigned, that should instead happen when (in this case a CocoaPods script) packages the framework into the app bundle.

However, when the PROVISIONING_PROFILE_SPECIFIER Xcode build setting is passed (implemented in #81384 via the CI-friendly FLUTTER_XCODE_PROVISIONING_PROFILE_SPECIFIER environment variable, and then reverted), the framework is incorrectly being signed, which causes the error:

Pods-Runner does not support provisioning profiles, but provisioning profile match Development * has been manually specified.

Forbid the frameworks from being individually signed.

Fixes #71613 and unblocks relanding #81384.

@jmagman jmagman added tool Affects the "flutter" command-line tool. See also t: labels. platform-macos Building on or for macOS specifically labels May 7, 2021
@jmagman jmagman self-assigned this May 7, 2021
@google-cla google-cla Bot added the cla: yes label May 7, 2021
@jmagman

jmagman commented May 7, 2021

Copy link
Copy Markdown
Member Author

@Hixie Request for testing exemption: on just this PR this code is not exercised in our CI setup and so isn't tested. Unfortunately this Ruby code hasn't lent itself well to unit testing, and we've relied on integration tests that actually build the macOS app and use real Apple codesigning to validate.

However, when #81384 is re-landed, tests like hot_mode_dev_cycle_macos_target__benchmark that failed and caused the original revert (#82004) will pass on top of this PR.

I would just apply the #81384 patch as part of this PR to make the change and testing atomic, but I want to make sure the original contributor gets credit.

@Hixie

Hixie commented May 7, 2021

Copy link
Copy Markdown
Contributor

test-exempt: already tested in other PRs

@jmagman jmagman requested a review from stuartmorgan-g May 7, 2021 20:21

@stuartmorgan-g stuartmorgan-g left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSLGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

platform-macos Building on or for macOS specifically tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can't build for macOS, Pods-Runner does not support provisioning profiles, but provisioning profile match Development * has been manually specified

5 participants