Forum Xamarin.iOS
We are excited to announce that the Xamarin Forums are moving to the new Microsoft Q&A experience. Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

We encourage you to head over to Microsoft Q&A for .NET for posting new questions and get involved today.

iOS9 - Getting Invalid Signature 100022 errors

PeterTircsiPeterTircsi USMember
edited September 2015 in Xamarin.iOS

Hi,

When we try to upload our iOS application package with Application Loader which was generated with the newest Xamarin Studio, SDK for iOS 9 and XCode 7.0 on the mac, we get the following error:
ERROR ITMS-90035: "Invalid Signature. 100022. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. ...."

We tried to recompile it serveral times, revoked and recreated the distribution certificate we use for the compilation in Visual Studio.
For this special sub-error (100022) we could not find any threads in any forums on the net, so we are currently clueless.

Have somebody experienced such error in the past or since the new iOS 9 has been released? What else could we try to get rid of this error? Any suggestions?

Regards,
Péter

Posts

  • ChaseCarlileChaseCarlile USMember
    edited September 2015

    Also getting this with the latest Xamarin release. Still have XCode 6.4 installed on the build server.

  • ChaseCarlileChaseCarlile USMember
    edited September 2015

    FYI, still a bit of guesswork on my part but I think my problem was that the build server was using XCode 6.4 but I was attempting to upload the .ipa from my computer with XCode 7. I guess the Application Loaders are not interchangeable?

  • Check that. We take the *.ipa, unzip it, and remove a few files from the bundle before recreating the *.ipa. The edited *.ipa no longer uploads. The original *.ipa works okay.

  • I am working on the same product as Peter. We haven't modified the package (.app file, not an .ipa). If you modify the package, you have to resign with "codesign" program with the same parameters to make the package valid again.
    Also, we tried to upload a package, which was uploaded before and also, it threw the same error for us. I suspect that Apple changed something and the structure of the package is not valid anymore. Maybe one file that doesn't belong to that package is present.

  • prashuiOSprashuiOS USMember

    Hi,

    i'm facing the same issue while trying to upload the ipa file through application loader. I have used xamarin 5.9.8 with iOS 9.1 SDK. This happened with Xamarin 5.9.7 (build 22) and iOS 9.0 SDK as well.

    Is there any update available from xamarin on this issue?

  • eg-cmeg-cm USMember

    I also am facing the exact same issue using Xamarin 5.9.8, Xamarin.iOS 9.1.0.27 with iOS 9.1 and Xcode 7.1.1
    I have been using this script in Jenkins to perform the codesign step for a couple of years with no issues. This is the only step I have used prior to Xamarin with Xcode and up to point prior to upgrading to Xamarin 5.9.8, Xamarin.iOS 9.1.0.27 with iOS 9.1 and Xcode 7.1.1 I have also not used Xamarin Studio to codesign as everything has been done via command line in Jenkins

    #!/bin/sh echo ripping ipa file apart unzip -d PROMOTE_TO_APP_STORE PROMOTE_TO_APP_STORE/App-1.4.$SPRINT_NUMBER.$PROMOTED_NUMBER.ipa echo Unlock Keychain security unlock-keychain -p ******** /Users/******/Library/Keychains/login.keychain echo Removing CodeSignature rm -rf PROMOTE_TO_APP_STORE/Payload/APP.app/_CodeSignature echo replacing Provisioning Profile cp Provisioning/App_Store.mobileprovision PROMOTE_TO_APP_STORE/Payload/APP.app/embedded.mobileprovision export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" echo Resigning IPA sudo /usr/bin/codesign -v --force --sign ######################################## --entitlements APP/obj/iPhone/Release/Entitlements.xcent --no-strict PROMOTE_TO_APP_STORE/Payload/APP.app echo verifying codesign sudo /usr/bin/codesign --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)' PROMOTE_TO_APP_STORE/Payload/APP.app cd $WORKSPACE/PROMOTE_TO_APP_STORE/ zip -r App-1.4.$SPRINT_NUMBER.$PROMOTED_NUMBER.ipa Payload

    The script is successful and reports:
    PROMOTE_TO_APP_STORE/Payload/APP.app: replacing existing signature
    PROMOTE_TO_APP_STORE/Payload/APP.app: signed bundle with Mach-O universal (armv7 arm64) [com.all####.####iagnostics]
    verifying codesign
    PROMOTE_TO_APP_STORE/Payload/APP.app: valid on disk
    PROMOTE_TO_APP_STORE/Payload/APP.app: satisfies its Designated Requirement
    PROMOTE_TO_APP_STORE/Payload/APP.app: explicit requirement satisfied

    If I use Xamarin Studio and perform an Archive for publishing I can verify in the build output Xamarin is performing the exact same set of commands that are used in the script. Once the Archive for publishing completes and the Archives window opens there is a Sign and Distribute step that is performing the step I am missing. I cannot see any output or logs to what is happening during this step except for /Library/Logs/DiagnosticReports/XamarinStudio_2015-11-12-064648_mac-xamarin.spin. Does anyone have a clue, tip or know what is happening at the Sign and Distribute step?

    Regards,
    Joe

  • eg-cmeg-cm USMember

    I have found a solution for my issue. First off, I ditched the script and instead added another parameter to my Jenkins job. If the AppStore parameter equals yes, then I replace the provisioning profile string in the csproj with AppStore appropriate one. If the AppStore parameter equals no, I leave the AdHoc profile string in the csproj.

Sign In or Register to comment.