Prevent deploying (disable) WatchKit App with iOS iPhone App in Xcode

Gaurav Sharma picture Gaurav Sharma · May 24, 2015 · Viewed 14.4k times · Source

We've got an Xcode project with build configurations for the Apple Watch as well. Our Apple Watch app isn't ready yet, so we'd like to release with it disabled. What's the best way to disable Apple Watch functionality in a build?

Answer

vomako picture vomako · May 25, 2015

Remove the WatchKit extension

To make sure that your WatchKit extension is no longer visible, you have to do two things:

1) Remove the WatchKit extension from "Target Dependencies"

  • (To go to Target Dependencies: in the project navigator, click the project file. Then click the target of the iPhone app. Go to the Build Phases tab.)

2) Remove the WatchKit extension from "Embed App Extensions" (in Xcode 7+, "Embed Watch Content")

  • (In Build Phases, go to Embed App Extensions. Remove the WatchKit extension entry from the list Embed App Extensions.)

Finally, you may have to clean your build folder. Then build and run your iPhone application.

To re-add the WatchKit extension:

For watchOS1: FIRST, add your WatchKit extension to Target Dependencies. This re-creates the .appex file that you can now add to the list under Embed App Extensions by pressing the plus button and choosing "App Name WatchKit Extension.appex".

For watchOS2: Just add your WatchKit extension to Target Dependencies.

Remarks:

  • I have tried the whole process of removing and recreating the extension both in the simulator and on the actual devices (iPhone and Apple Watch). It worked in both cases.
  • I have also tried to do either A or B but that was not sufficient.
  • I used Xcode version 6.3.2