Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Binary Rejection - Invalid Watchkit Support

We develop Watchkit app about 1.5 month, and we used Xcode 6.2 beta2,beta4, Xcode 6.3 beta to develop before and now use Xcode 6.2 (6c131e) to develop

We use Xcode 6.2 (6c131e) to archive our project , and use Application loader to submit our app.

And then we received the rejection:

"The bundle contains an invalid implementation of WatchKit. The app may have been build or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information. "

anyone help me , thx.

like image 204
Guo Luchuan Avatar asked Mar 10 '15 20:03

Guo Luchuan


1 Answers

Apple Watch apps are now accepted into the App Store as of Tues. March 31.

However, for folks using the old submission workflow of submitting a zipped .app will hit this error because zipped apps are no longer supported for apps that contain a watch extension. Follow these steps to generate a submittable .ipa file instead.

Supporting Raw Zip Watch App Submissions App Store import validation ensures that watch app submissions include additional files alongside the submitted bundle that are generated by Xcode. This prevents you from using the old submission workflow of submitting a zipped app file using Application Loader.

However, if you have a build process which currently prevents submitting the watch app using Xcode, you may use the following process to generate the necessary .ipa file to be submitted using Application Loader:

  1. Create a directory named WatchKitSupport as a sibling to Payload
  2. Copy a binary named "WK" from the iOS 8.2 SDK in Xcode to your new WatchKitSupport directory. This binary can be found at: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/Library/Application Support/WatchKit/
  3. Do not touch or re-sign the WK binary in any way
  4. Compress everything into a zip and rename the file extension to .ipa

Note: You may compare your .ipa with one generated by Xcode by exporting an .ipa from an archive of a new Xcode project template for which you have added a watch target.

The format of the resulting IPA should contain (at least):

myApp.ipa |________Payload/ |________Symbols/ |________WatchKitSupport/ |_____WK

Edit: The .dSYM corresponding to the built .app goes in Symbols/. You can always find it alongside the .app in the built products folder, or in dSYMs of an .xcarchive.

like image 97
Bobjt Avatar answered Sep 20 '22 01:09

Bobjt