Here’s the thing..
Scenario:
I got a ipa file which I get as a result of an Archive + Share process
using XCode. The ipa file is signed using ad hoc distribution certificates and
it can be installed without any problems.
The application saves some information in the keychain
which is accessed without any problems using the build I just made.
After that, I re-sign the application using the codesign command with Enterprise
distribution certificate after making some changes in the applicaction.app package.
This changes includes changing the name of the application and bundle id from the
info.plist file, and of course, replace the embedded mobile provisioning profile with
the one that matches the new certificate.
The Problem:
After resigning every seems to be all right, installation and functionality seems to work ok…. BUT! when I enter the information
that is saved in the keychain, the data seems not to load or be wiped from
the keychain every time I close the app.
Ideas of why is this happening?
Ok, here’s the solution that worked for us.
Since this was an Enterprise build, it required us to change the Entitlements.plist/dist.plist file so that the app id matched what was entered on Apple’s site. The Entitlements file can be provided on the codesign utility.
Use these instructions but verify the Entitlements file matches the full app id. This includes the seed id + bundle id.
Re-sign IPA (iPhone)
The app would install fine without it, but this ensures the keystore is being accessed with the proper authority.