Software Archive
Read-only legacy content
17061 Discussions

iOS build failure

Swati_S_Intel1
Employee
1,770 Views

Hello Developers,

We are seeing that some users are having difficulties building for iOS. The errors in the Build log generated by Xcode are not very useful, but it turns out that lot of  issues come from not providing the correct certificate (P12 file) and/or provisioning profile or mismatch between P12 and provisioning profile. We are looking into providing specific errors so you don't have to guess what's wrong. But meanwhile if your build fails please make sure your P12 and provisioning profile are correct. 

Please follow these steps to generate the P12 file.

  1. Create .csr from Intel XDK (do not close the dialog box to upload .cer file)
  2. Click on the link Apple Developer Portal from the dialog box (do not close the dialog box in XDK)
  3. Upload .csr on Apple Developer Portal
  4. Generate certificate on Apple developer portal
  5. Download .cer file from the Developer portal
  6. Come back to XDK dialog box where you left off from step 1, press Next. Select .cer file that you got from step 5 and generate .P12 file
  7. Create an appID on Apple Developer Portal
  8. Generate a Provisioning Profile on Apple Developer Portal using the certificate you generated in step 4 and appID created in step 7
  9. Provide the same appID (step 7), P12 (step 6) and Provisioning profile (step 8) in Intel XDK Build Settings 

Few things to check before you build:  

  1.  Make sure your certificate has not expired
  2. The appID you created on Apple developer portal matches with the appID you provided in the XDK build settings
  3. You are using  provisioning profile that is associated with the certificate you are using to build the app
  4. Apple allows only 3 active certificate, if you need to create a new one, revoke one of the older certificate and create a new one.

Please see this webinar video on how to create a P12 and provisioning profile. https://software.intel.com/en-us/videos/app-certificate-management, the P12 creation part is at 16:45 min. Please follow the process for creating a P12 and generating Provisioning profile as shown in the video. Or follow this document : https://software.intel.com/en-us/xdk/docs/intel-xdk-certificate-management.

 

0 Kudos
24 Replies
PaulF_IntelCorp
Employee
286 Views

This issue has been occurring for several users, due to some sort of change that Apple has made in their certificate export process. I don't fully understand the source of the problem. There was a post on another thread, recently, where someone described the source of the problem and how to get around it.

What happens if you use the "I have a Windows machine" process rather than the "I have a Mac machine" process to generate the necessary certificates? Create a completely new build cert and provisioning file, as a set, and try that.
 

0 Kudos
Ad
New Contributor III
286 Views

Paul F. (Intel) wrote:

..... Create a completely new build cert and provisioning file, as a set, and try that.

Thanks for your prompt response!

In that case we also need to use a new P12 file too. XDK is warning us, be careful to delete P12 files because you can't update a already published App anymore!

Does someone know, if we use a complete new set including P12 file, we can still update an already submitted App?

Thanks!

0 Kudos
PaulF_IntelCorp
Employee
286 Views

For an iOS device you should be able to update with a completely new set of certs. As long as Apple can link those certs back to your Apple Dev account you should be good. Because they issue the final signature, you do not need to keep using the same certs, as long as they come from the same account. That is one of the differences between your Apple certs and your Android certs, the Apple certs are signed by Apple, the Android certs are self-signed, so Android needs to see the same cert on subsequent submissions, whereas Apple does not, they just need to be able to link it back to your account.

0 Kudos
Ad
New Contributor III
286 Views

Paul F. (Intel) wrote:

For an iOS device you should be able to update with a completely new set of certs. As long as Apple can link those certs back to your Apple Dev account you should be good. Because they issue the final signature, you do not need to keep using the same certs, as long as they come from the same account. That is one of the differences between your Apple certs and your Android certs, the Apple certs are signed by Apple, the Android certs are self-signed, so Android needs to see the same cert on subsequent submissions, whereas Apple does not, they just need to be able to link it back to your account.

Thanks Paul, problem SOLVED

You were right. I made a completely new set of certs and was able to upload my app without any problem!
I uploaded my app with the Application Loader and it did not give me any errors.
12 hours later, our App "TipKitty  - Your own app, always at hand" was approved in the App Store and, but much earlier, in the Play Store too

Thank you very much!

0 Kudos
Reply