10:20 AM

Code Signing !! deployment of iapps

Posted by pradeep T

CodeSign error: a valid provisioning profile is required for product type ‘Application’ in SDK ‘Device - iPhone OS 2.2″
This error will appear when you update your provisioning profile in iPhone SDK 2.2
or after the expiration of developer certificate and that you have a new provisioning profile from the developer portal
This is the solution (which is modified from http://www.furmanek.net/54/iphone-sdk-22-codesign-error/)
Suppose you have copied your provisioning profile called “iPhone_Development.mobileprovision” to the Library folder and build & go an old iPhone project called “MyApp”, and this annoying error appears
(1) cd ~/Library/MobileDevice/Provisioning\ Profiles/
(2) find out the UUID of the provisioning profile
strings iPhone_Development.mobileprovision | grep ".*-.*"
output is like this
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(3) copy that UUID between the string tag
(4) close xcode and go to your project
cd ~/Projects/MyApp/MyApp.xcodeproj
(5) Use a text editor to open the project.pbxproj
find the string PROVISIONING_PROFILE
paste the UUID that you copied from step (3) and put it in both Debug and Release Sections (do multiple finds) for the following line
e.g.
PROVISIONING_PROFILE = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
(6) Launch XCode and open the project and build & go again




This seems to be a chronic issue and is unresolved across many forums. This error occurs when you Build and Go for Device - iPhone OS 2.1 and can be verified when looking under Project Info > Build > Code Signing > Code Signing Provisioning Profile > Any iPhone Device, the name of your Provisioning Profile (ie. ITP DAP Projects) will not be listed as a Value.
I was able to resolve this issue by restoring my iPhone in Xcode under the Summary tab of the Organizer window.
Before doing so, you should of course confirm you have the Development Certificate and WWDR Intermediate Certificate in place, and have the Provisioning Profile both on your Mac under Library > MobileDevice > Provisioning Profile and on your iPhone under Settings > General > Profile

0 comments: