Start a new topic
Solved

iOS Distribution to AppStores fails - Invalid Signature

Hi Wikitude-Team, 


we added the new WikitudeSDK 7.1 to our App with the cordova-plugin (v7.1.0-3.5.2). But we have problems to upload the App to the AppStore. 


We get the following two distribution errors:

  

iTunes Store Operation Failed
ERROR ITMS-90035: "Invalid Signature. Code object is not signed at all. The file at path [SCIO AR.app/Frameworks/WikitudeSDK.framework/strip_wikitude_framework.sh] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html" 

   

iTunes Store Operation Failed
ERROR ITMS-90035: "Invalid Signature. Code object is not signed at all. The file at path [SCIO AR.app/Frameworks/WikitudeSDK.framework/wikitude_bitcode.sh] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html"


The building of the App on our testing devices ran without problems, we just had to put the WikitudeSDK to the Embed Frameworks Build Phase. 


In the AppStore Upload Wizard we get a the info that for WikitudeSDK.framework no profie is required. And its also not possible to set one. 



Best regards,

Philipp



3 people have this problem

For the record, my company just tried to push a major update to the app and it was like we were reliving the nightmare from one year ago of getting past Wikitude signing problems. I'm not clear why it is we have to do this, but adding "Run Scripts" in the Build Phases of Xcode was consistently failing to accomplish what it was supposed to accomplish. Perhaps this is due to peculiar permissions of file structure issues related to our large internal network. Only after we attempted to manually run the scripts in terminal as outlined here http://www.wikitude.com/external/doc/documentation/latest/iosnative/ios-framework-scripts-native.html?_ga=2.255346125.478692017.1561557095-1179012325.1560790561#ios-app-store-submissions, THEN manually delete the four files I noted in my post one year ago were we then able to validate the app.


The important thing I'm trying to contribute here is that if you continue to have trouble but have not tried manually running the .sh scripts via Terminal, then do that.


1 person likes this

Hi Wilbert,

For Xamarin we changed the NuGet package a bit as our scripts have no chance to remove those files as they are bundled into the .dll. We're about to release the update in the next few days but if you want to give it a try upfront, you can download a pre-release version here


Please make sure that the NuGet package is replaced (we know from other customers that it might still catch the old one, so please do a full clean build).


Best regards,
Andreas Schacherbauer


1 person likes this

[Updated] Hello Andreas,

 

I read your previous answer carefully, I'm using Xamarin and facing the same issue, but removing the .sh files from the .ipa doesn't help and we just got a one time license 2 months ago so we are stuck with 8.1.0. Our issue goes beyond the .sh scripts and is specific to Xamarin, I created a separate post for the sake of clarity : https://support.wikitude.com/support/discussions/topics/5000090658?page=1


Many thanks for your time & help

Hi Thibault, 


As mentioned in my answer in your other post - I just checked and you were granted the startup license 2 months ago, I can't find a commerical purchase associated with your account which would make you purchase a new license. So as mentiond please reach out to startup@wikitude.com and explain the situation.


Thx and greetings

Nicola

Hello support team,

We also got the same problem about Wikitude SDK while uploading app to AppStore.
We are using 7.1.0 SDK as it was purchased with license key.

You are saying that this issue is resolved in Wikitude SDK 7.2.0 but if we used that SDK we are getting license key missing issue.

Will we have to purchase it again?

Please find the attched upload issue image for reference (Using Wikitude 7.1.0 SDK)

Please suggest solution as fast as possible. Thanks in advance.


image

Tried adding suggested shell scripts. But still getting the same issue.

We are using Wikitude Javascript iOS SDK 7.1.0

Hello,

Just to let you guys know, this bug is alive and kicking still. In my case, the solution was to move out of the project directory the files: wikitude_bitcode.sh & strip_wikitude_framework. After this action, the 'signature' validation error disappeared.

Cheers!

Hi Philipp,

Did you already discovered the new section in our documentation regarding App Store uploads? When running this script, it removes simulator architectures and the script file itself. Did you already add a 'Run Script Phase' like described in the documentation?


Best regards,

Andreas

I also faced fame problem when I am trying to upload the build to iTunes. I used latest wikitude library & also I followed uploading iTunes doc. when I tried to use run script two .sh files are removed before creating build. showing not found that files. I also tried from terminal command but it also not working. showing same error. please help

Yeah I got this bug recently again, I had to remove the .sh files manually from the project (then I don't know if the bitcode stuff was executed as the file was not here anymore). I am using the cordova plugin.

Hi @all,

I'm not sure if the following part of our documentation is known: iOS App Store submissions 

It mentions that a custom script build phase needs to be added in which a shell scripts prepares the framework for submission.


Please let me know if that solves the problem/confusion.


Best regards,
Andreas Schacherbauer





Hello,

I am currently working on an application (Xamarin iOS) and I am having this same problem. How can I solve it ?, since evidently the IDE that I use is Visual Studio and NO Xcode.

I appreciate that you provide me with an adequate guide to solve this problem, , since the one that appears in the link: (http://www.wikitude.com/external/doc/documentation/latest/ios/ios-framework-scripts-architect. html? _ga = 2.193255979.703125108.1541435295-1673602308.1524687650 # ios-app-store-submissions) is not oriented to Visual Studio.


Additionally, the version of the Wikitude SDK that I am using is:

Xamarin.Wikitude.SDK.JS 8.1.0


This is the error message I get from Application loader:


ERROR ITMS-90035: "Invalid Signature, Code object is not signed in. The file at path [XX.iOS.app/Frameworks/WikitudeSDK.framework/strip_wikitude_framework.sh] is not properly signed. with a distribution certificate, not an ad hoc certificate or a development certificate Verify that the code signing settings in Xcode are correct at the target level (which override any values ​​at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not to Simulator target, if you are certain your code are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html "

ERROR ITMS-90035: "Invalid Signature, Code object is not signed in. The file at path [XX.iOS.app/Frameworks/WikitudeSDK.framework/wikitude_bitcode.sh] is not properly signed. with a distribution certificate, not an ad hoc certificate or a development certificate Verify that the code signing settings in Xcode are correct at the target level (which override any values ​​at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not to Simulator target, if you are certain your code are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html "

Hi Andreas,


my documented errors  in my first post have nothing to do with the simulator architectures bug/workaround. We use already the strip_wikitude_framework.sh as a build step after Embed Framework phase.

I think you see the real problem if you read the error messages is posted. Your Scripts 

  • strip_wikitude_framework.sh
  • wikitude_bitcode.sh


should not be part of the app bundle as it's only used while building. And this files are not signed so that we get the Invalid Signature Error Message for these two files. 

We solved the problem by changing the build process:

1) use the strip_wikitude_framework.sh from project directory and not from the build directory

sh "$PROJECT_DIR"/"$TARGET_NAME"/Plugins/com.wikitude.phonegap.WikitudePlugin/WikitudeSDK.framework/strip_wikitude_framework.sh -s -p "$BUILT_PRODUCTS_DIR"/"$FRAMEWORKS_FOLDER_PATH"/WikitudeSDK.framework

 2) remove all *.sh file from the build directories framework folder, because this files are not signed after you create a archive for the app store. 

find "$BUILT_PRODUCTS_DIR"/"$FRAMEWORKS_FOLDER_PATH"/WikitudeSDK.framework -name "*.sh" -type f -delete

 


Development Platform

  • macOS Sierra
  • Xcode 9.0
  • cordova-wikitude-plugin v7.1.0-3.5.2
  • cordova-cli 6.5.0
  • cordova-ios 4.5.1


Best regards

Hi,

The scripts should work just fine ;) You could also use the ones from the 8.1 download package. The documentation also contains sections on how to use those scripts from outside the .framework bundle.


Best regards,
Andreas Schacherbauer

Login or Signup to post a comment