Reputation: 537
I'm currently working on a CI / CD pipeline for an iOS app.
The app is currently compiled and released to 'test' to run automated tests. At this point the app will make requests to the 'test' api.
If all the tests pass, the build is promoted to 'staging', at this point the build should make requests to the 'staging' api.
I don't want to recompile the app when it is released to staging.
What would be the best way to change some config values in an app without recompiling?
I've thought of the following way:
Upvotes: 0
Views: 177
Reputation: 2572
AFAIK: when an app is signed, it's signed based on the contents of the .ipa. So unzipping / editing / re-zipping will cause iOS to throw errors on the console and not launch your app - the contents of the .ipa will no longer match the signing.
I'm not sure you're going to get away without recompiling (or at least re-signing) it. You can do this as part of CI though, see the answers to this question: How to re-sign the ipa file?
You'd essentially add this re-signing step at the end of your suggested process:
Theoretically, this should work. In practise, I've wasted hours on trying to get similar to work. Good luck!
Upvotes: 1