问题
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.
回答1:
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:
- Create a directory named WatchKitSupport as a sibling to Payload
- 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/
- Do not touch or re-sign the WK binary in any way
- 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.
回答2:
While uploading apple watch app, it need to have apple watch extension into embedded binary of iOS app. But if you are habbitat to delete derived data then xcode6 will delete that target. and when you submit it to apple it will only get ios app not apple watch app.enter image description here
Adding Embedded Binaries fails in Xcode Xcode won't link framework form separate project App crashes on device because of missing framework, works in simulator OverviewAfter deleting the "DerivedData" folder (or performing a "Product > Clean") in xcode6, I cannot add CocoaTouch frameworks from another project to the "Embedded Binary" section (under General tab).
Or, Xcode hits a linker error because it cannot find a framework that if previously could.
Other symptoms
Clicking on the + under "Embedded Binaries" shows the Framework selector but selecting a framework in different project in the workspace does nothing.
回答3:
As @bobjt stated above, the old way up uploading a .zip file via the Application Loader is no longer valid for apps that contain a WatchKit app/extension.
I was able to upload a valid binary by building my app and then going to Product>Archive>Submit to App Store.
回答4:
You can't submit WatchKit apps at the moment. Please wait for an official Apple announcement.
回答5:
I had the same issue. I solved it by putting the correct image assets to the App Icon & uploaded the app through Xcode not the Application Loader. I archived the app from Xcode & validated it. After that I submitted it through Xcode.
来源:https://stackoverflow.com/questions/28973149/binary-rejection-invalid-watchkit-support