How to use the latest code signature format

Has anyone else seen an iOS popup warning (it only appears once) which suggests switching to another device and then linking to the following article: Using the Latest Code Signature Format

In this article it suggests that a future release of iOS will make the new code signature format mandatory and that apps using the old signature format will no longer launch. No future release version is mentioned so it is unknown when exactly this will come into play.

The article suggests that you can just re-sign your app and gain the newer format. However, I have tried the steps given and can’t get a code signature format value higher than 20400 which caused the warning to appear. Has anyone else been able to follow the steps and get a value of 20500 or higher?

I do not know if this is something that the Volt builder building process can affect.

Note: this does not affect apps that are distributed through the App Store or TestFlight as App Store Connect does the re-signing for you.

Thanks for spotting this - we are looking into it now.

The article indicates that a Code Signing format of 20400 should work. “For any value of v less than 20400 , you’ll need to re-signed your app.”

Can you send a screen shot of the exact message you are getting?

The article does indicate that a value of 20400 should be okay but nonetheless the popup warning has appeared on more than one of our devices. I wonder if the article has missed out “less than or equal to”?

Unfortunately we now know the warning only appears once so the first time it appeared we didn’t know that it would be our only opportunity to take a screenshot and thus missed taking one. It didn’t say more than a few lines of text so the article is most valuable.

It would be great to see the actual message. Do you have another device you can install on? Would it install on one of our devices if you sent us the ipa?

popup

This screenshot shows us checking the current code signature format v value (20400), running the command to re-sign our app which doesn’t throw an error, then re-checking the code signature format v value only to find it is still 20400.

Also, note the deprecation warning because of the --preserve-metadata flag - the instructions from Apple say to use this!

So 20400 before and after re-signing and the article as you have previously pointed out suggests 20400 is an acceptable value yet we get a popup warning.

Advice welcome

We’re researching this one. Surprisingly, no one else has reported a similar issue. The error message clearly contradicts Apple’s own documentation.

There is little, if any, documentation which explains which Code Signature version Xcode uses. I know all our stuff is up to date. We will keep looking - let me know if you find anything.

We may need to escalate this to Apple.

What version of iOS are you using?

14.4 but I also saw the popup warning on 14.3.

Worried that 14.5 due out at the end of the month could break our app but that is just a guess.

I just tried an Ad Hoc build here on iOS 14.4. The code signature version is 20400. The app installed and ran normally.

Next, I set up a device with iOS 14.5. The app installed and ran normally there as well.

Any chance we could try your app here?

And you saw no popup warning on either OS with your test app? I assume that’s iOS 14.5 Beta 2?

Unfortunately I cannot share our app as it is private. As soon as iOS 14.5 is released I can test our app and let you know.

Have you had any success re-signing your test app and getting a value of 20500?

There was no popup.

Can you make a simple HelloWorld app using the same credentials? Let’s see if it gets the same error. If so, I can try that on an iOS 14.5 device.

I still have not found a way to build which results in a code signature version of 20500.

I created a simple HelloWorld app using our credentials but saw no popup warning. I don’t know if this is because the warning only appears once on a device or if it’s because our HelloWorld app is okay regardless of the fact that it has been built with the same credentials as the app that caused the warning we’ve seen already.

Next step is to try your HelloWorld app on my device - want to send it to me?

Sent via email

Are we sure that app code has nothing to do with the code signature format and as long as we sign using the same credentials (such as creating a HelloWorld app) that we are replicating the issue the popup warning referred to?

I’ve been unable to learn much about how these code signatures work. Apple has virtually no documentation, and what there is seems contradictory. We’ve also been unable to reproduce this, and there have been no other reports. AppStudio is using the latest tooling for all modules, so I can’t think what we could do to change this.

I agree with the suggestion you made offline - let’s see what happens with iOS 14.5, which is coming soon.