2
votes

I have to resign an .ipa file which has been originally signed with an enterprise profile. Due to security reasons I have no access to the repository of this project. In addition, I have to modify the build number in .plist file.

First I use fastlane to resign the .ipa file with my distribution certificate and app store profile:

fastlane sigh resign /Users/myUserName/Desktop/FolderContainsMyIPA/MyIPAName.ipa --signing_identity "iPhone Distribution: MyDistributionCertName" -p /Users/myUserName/Desktop/FolderContainsMyIPA/myAppStoreProfile.mobileprovision

Terminal output says resigning was successful.

Then I zip and unzip the folder in order to modify the info.plist file inside of the binary payload. After zipping and uploading the .ipa to iTunes Connect, I always receive following error:

Dear developer,

We have discovered one or more issues with your recent delivery for „My App Name". To process your delivery, the following issues must be corrected:

Invalid Signature - Invalid Info.plist (plist or signature have been modified). The file at path [Template.app/Template] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

Can’t figure out what's wrong with my approach

1

1 Answers

4
votes

Simply try modifying the info.plist BEFORE resigning your .ipa file. That should work.