Make codesigning easier for iOS projects
Problem to solve
Codesigning is really complicated for Apple projects. There's a lot of configuration and gotchas involved and it takes endless trial and error until you get it just so, and it works, and it's not always entirely clear why it's working or how to fix it if/when it breaks. The action all happens on the runner - the right certificates must be injected at runtime, and the configuration in the .xcodeproj
file must correspond with the way the certificates will be injected.
Target audience
Existing personas are: (copy relevant personas out of this comment, and delete any persona that does not apply)
- Sasha, Software Developer, https://design.gitlab.com/research/personas#persona-sasha
Further details
I was able to get things working by experimenting and reading the FastLane documentation at https://docs.fastlane.tools/actions/cert/ and https://docs.fastlane.tools/actions/sigh/. You can see a working project using this approach at https://gitlab.com/jlenny/flappyokr.
There is additional prior art available here that can be looked at: https://circleci.com/docs/2.0/ios-codesigning/. This uses a different approach (also with FastLane) called https://docs.fastlane.tools/actions/match/
Proposal
TBD
What does success look like, and how can we measure that?
We have an easy guide and process for getting code signing for iOS working easily.
Links / references
cc @brendan