iPhone code signing problems when debugging
This is something that keeps catching me out… so much for learning from my mistakes.
Every so often I suddenly encounter a problem when trying to debug iPhone programs on an iPhone. The application just won’t load. Builds OK, but won’t launch on the iPhone – complains that the profile is out of date (even when I know it isn’t). That is, there is no error report to go by, the program just won’t run.
This problem seems to be caused by an expired profile on the iPhone (and no, not the profile your App is using, any expired profile seems to cause this problem). The solution is to go to: Setting -> General (scroll down to the bottom) -> Profiles, find the profile that has expired and delete it. Everything should now work.
By the way, don’t be fooled by the ‘The name (“common name”) of a valid code-signing certificate in a keychain within your keychain path. A missing or invalid certificate will cause a build error. [CODE_SIGN_IDENTITY]‘ in project info as this has nothing to do with the problem.
Yup, this one got me today too.
Thanks for the info!
Alternative source of this issue…importing a project from someone else (say downloaded from the internet) and their old certificate info is cached as part of the xcode project. For me, it wasn’t accessible through xcode, steps I used to fix it:
1) Quit Xcode. 2) Right click on your xcodeproj file, select view Package contents. 3) Edit project.pbxproj
Search for CODE_SIGN_IDENTITY and change the certificate info to your own. You’ll probably also need to modify PROVISIONING_PROFILE lines as well as following the CODE SIGNING ENTITLEMENTS advice from here: http://stackoverflow.com/questions/1074546/the-executable-was-signed-with-invalid-entitlements