Recent changes to Apple's app submission review process

Recently (April 2015) Apple has tweaked a bit the tests performed on .ipa files as part of the App Store app submission review process.
The change now disallows unsigned .sh type files inside the application bundle.

Projects generated by IBM Worklight/MobileFirst Platform Foundation do contain one such file, buildtime.sh, and this file is bundled unsigned in the application. If such an application will be submitted for review, it will be rejected with the following ITMS-90035 error:

Invalid Signature. Code object is not signed at all. The binary at path [my-app-name.app/buildtime.sh] contains an invalid signature. 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 this Apple Developer article.

This file is required for the build-time of the application in Xcode, however it is not required for the run-time of the application, thus it can be safely removed from the list of files that are to be bundled into the application.

To overcome the rejection, there are several options:

Remove buildtime.sh from the target in Xcode

  1. In Xcode, navigate to Build Phases > Copy Bundled Resources
  2. Remove the buildtime.sh file from the list of files

Important: do not delete the file from the project; only remove it from the target.

Install the latest available iFix for your version of Worklight

  • The iFix is Studio/CLI-only. No server change required
  • The iFix is meant only for either newly created applications, or applications that can safely have their native folder deleted and re-generated by Worklight/MFP Studio/CLI
  • If the native folder cannot be deleted, refer to the manual correction above
  • The iFix removes the buildtime.sh file as a target dependency
  • List of iFixes containing the fix (to be downloaded from IBM Fix Central):
    • 6.0.0.2-IF201504301500
    • 6.1.0.2-IF201504301501
    • 6.2.0.1-IF201504301522
    • 6.3.0.0-IF201504301455
    • 7.0.0.0-IF201504301556
Last modified on May 01, 2016
Share this post: