How to NOT deliver AppleWatch part of iOS app
Asked Answered
B

1

8

We have a client using our source code. This project includes Apple Watch, but they do not want to build that into their app yet. They removed the Embed App Extensions. They were able to submit to the App Store, but then received an email:

We have discovered one or more issues with your recent delivery for "XXX". To process your delivery, the following issues must be corrected: Invalid WatchKit Support - The bundle contains an invalid implementation of WatchKit. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information. Once these issues have been corrected, you can then redeliver the corrected binary. Regards, The App Store team

What is the minimum modifications to do to a project that will not include the Apple Watch component, so that it is there for when they want to add it later?

Ballou answered 25/6, 2015 at 22:47 Comment(9)
Is this an update to an existing app (that already has an Apple watch extension) or a brand new release?Ollayos
Brand new release, but I would love to hear both answers if they are different. They take the code for one app, and change the bundle identifier to publish as a new app.Ballou
Which version of Xcode did you use to build the release?Principled
This is for Xcode 6.3.2. But I would love to hear the answer if this changes in Xcode 7.Ballou
Simply delete the WatchKit (Apple Watch App) target.Lyndalynde
Is there a less destructive way? I'm afraid the client will want the WatchKit code later, and their knowledge is not high. Trying to handler merges of the project file is difficult.Ballou
Did you also remove the extension from Target Dependencies?Birthright
How do you submit the app? *.ipa from Application Loader or *.archive from Xcode? I noticed that if you keep extension in target dependencies it's going to be present in your archive file. So I would try to remove extension from Target Dependencies and try again. Warning: I haven't tested it. Please let me know if it helps. Thanks.Birthright
Like Seyyed said, deleting the WatchKit target would be the most efficient way to go. This doesn't have to be destructive. I assume you manage the source control and not your client? What type of source control do you use? If you use Git it's really easy, just keep the Watch target in the project on your develop or feature branch. Before a release, merge to your release branch and delete the Watch target there. Even if your client does the actual submit, they can simply check out the release branch.Bettyannbettye
A
0

I haven't seen a setting that could be added to info.plist.

Build just the iPhone app and not the watch app by using the correct Scheme in Xcode. Schemes are how you can control which targets to build in Xcode.

When the watch kit target was added, a scheme was created for building both the watch app and the mobile app.

When exporting app for release use just the mobile app scheme that is there and does not include the watch os target.

Scheme editor doc from apple: https://developer.apple.com/library/mac/recipes/xcode_help-scheme_editor/Articles/SchemeDialog.html

Angary answered 2/7, 2015 at 16:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.