Invalid Apple certificates

What platform are you building for?

iOS

What framework are you building with?

Cordova

What is your build ID?

faa20e27-06e2-49a1-a11c-e91104cc6a21

What is your error message?

2025-12-17 07:56:50,642 - Output: Running altool at path /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Frameworks/AppStoreService.framework/Support/altool…
2025-12-17 07:56:39.561 ERROR: [altool.600002CE8180] [ContentDelivery.Uploader.600002CE8180] Validation failed (409) Invalid Provisioning Profile. The provisioning profile included in the com.xxxx bundle [Payload/AAAAA.app] is invalid. [Missing code-signing certificate]. A distribution provisioning profile should be used when uploading apps to App Store Connect. (ID: 59c86898-5c16-48c0-84d4-31b556215f7b)
2025-12-17 07:56:50.622 INFO: [altool.600002CE8180] [ContentDelivery.Uploader.600002CE8180]

VERIFY FAILED with 1 error, 0 warnings, 0 messages

2025-12-17 07:56:50.623 ERROR: [altool.600002CE8180] Validation failed for ‘/ios.development.ipa’.
2025-12-17 07:56:50.623 ERROR: [altool.600002CE8180] Validation failed Invalid Provisioning Profile. The provisioning profile included in the com.xxxx bundle [Payload/AAAAA.app] is invalid. [Missing code-signing certificate]. A distribution provisioning profile should be used when uploading apps to App Store Connect. (ID: 59c86898-5c16-48c0-84d4-31b556215f7b) (409)

NSLocalizedDescription = “Validation failed”;
NSLocalizedFailureReason = “Invalid Provisioning Profile. The provisioning profile included in the com.xxxx bundle [Payload/AAAAA.app] is invalid. [Missing code-signing certificate]. A distribution provisioning profile should be used when uploading apps to App Store Connect. (ID: 59c86898-5c16-48c0-84d4-31b556215f7b)”;
NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 “Validation failed” UserInfo={status=409, detail=Invalid Provisioning Profile. The provisioning profile included in the com.xxxx bundle [Payload/AAAAA.app] is invalid. [Missing code-signing certificate]. A distribution provisioning profile should be used when uploading apps to App Store Connect., id=59c86898-5c16-48c0-84d4-31b556215f7b, code=STATE_

Please describe the issue:

I have an issue with Apple certificates when doing a debug compilation. I do not understand what is going on as I compiled in February with the same ZIP (but some changes to index.html and config.xml) and the certificates have not expired.

I had the exact same issue with another app that is not very important and re-generating the certificates would throw the same error.

We have been communicating over email I believe, regarding this issue. When we’ve found the issue I will post here as well.

After wasting countless hours with this, Copilot provided the answer.

“iosPackageType”: “development” is now needed for debug runs, cannot keep “iosPackageType”: “app-store” like in the past in voltbuilder.json.

That was my case, anyway.

It might be nice if something like:
“release”: {
“iosPackageType”: “app-store”
},
“debug”: {
“iosPackageType”: “development”
}

work, though it does not, so what I do is pseudo-comment one of the lines

“iosPackageType”: “development”
“iosPackageType_comment”: “app-store”

You are correct that this changed a little over two years ago. The current logic attempts an App Store upload if you’ve provided credentials and if your package type is AppStore, regardless of the build type. I believe a few users wanted debug builds to do limited tests with.

Other optons incude commenting out your App Store password or user name. For example:

appStoreConnectAccount: test@volt.build
//appStoreConnectAppPassword: test-test-test-test
iosPackageType: app-store

That should prevent the upload from happening. We are planning to overhaul the config file very soon here.

Additionally I would like to mention that you can use JSON5 syntax for our config files (basically nicer JSON).

Hi, I’m getting the same error. Last time, when I uploaded, VoltBuilder would send it to Apple for testing with TestFlight and distribuite later. Is that no longer possible, or what should I do?

"iosPackageType": "app-store",
"itunesAccount": "xxxx@yyyy.com",
"itunesAppPassword": "qdfu-vrtt-ggrr-illo",
"itunesShortName": "88LBBZEDFT",
"androidPackageType": "apk",
"release": "release"

I changed a special character in the app name from “golaço” to “golaco” and it worked. It must be some new Apple restriction.

This does happen from time to time. Generally the log will contain more details as to why Apple rejected an upload.