0

We are actually trying to upload our Xamarin mobile application to AppStore. Application is built using Xamarin.Forms and uses Pspdfkit for pdf viewing on Ipad. This is the only external library we are using. Project builds correctly but when we try to upload to AppStore, we are getting the following error:

Heading

Invalid Signature - Code object is not signed at all. 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 Once these issues have been corrected, you can then redeliver the corrected binary

Can someone gives me the details steps to sign an external library on Xamarin Studio?

N.P
  • 1
  • Found the solution to this problem with the help of PSPDFKit team. Here is the solution: In the PSPDFKit.framework package there are two shell scripts (split-binary.sh and strip-bitcode.sh). Remove these two files, rebuild the dll and readd it to your project. They are not required and Xcode ignores these on signing. Xamarin doesn’t use this logic and fails when trying to sigh these scripts. – N.P Feb 15 '17 at 16:46
  • We've updated our integration now so this is done automatically. – steipete Feb 16 '17 at 19:19

1 Answers1

3

The problem you see is most certainly not caused by the PSPDFKit library but by your app itself. iOS apps must be signed using different certificates:

  • There's one for development
  • one for Enterprise distribution
  • one for App Store distribution

You will have to create a proper distribution certificate in order to upload to the store. This involves setting up an App ID, the certificate itself and a provisioning profile which holds everything together.

Your entry point to those certificates is Apple's developer site.

You can read more about the publishing process with regards to Xamarin specific things (it really isn't that different from using an app built with Xcode, other than the different IDE) in Xamarin's documentation.

To automate the process and make it easier to manage you might also want to have a look at a collection of tools called Fastlane.

Krumelur
  • 32,180
  • 27
  • 124
  • 263
  • We have followed the steps in Xamarin documentation for the deployment but it's still not working. Is there something specific we need to do in Xamarin Studio to sign the external library we are using or signing the app itself takes care of everything? – N.P Jan 27 '17 at 09:48
  • Found the solution to this problem with the help of PSPDFKit team. Here is the solution: In the PSPDFKit.framework package there are two shell scripts (split-binary.sh and strip-bitcode.sh). Remove these two files, rebuild the dll and readd it to your project. They are not required and Xcode ignores these on signing. Xamarin doesn’t use this logic and fails when trying to sigh these scripts. – N.P Feb 15 '17 at 16:48