SwampThingTom
SwampThingTom

Reputation: 890

Can't install WatchKit app on Apple Watch

I have a WatchKit app that runs fine in the Simulator. But when I try to run it on an actual device it never finishes installing and never provides any error message or feedback.

The iOS app installs and runs fine. I bring up the Apple Watch app on the iPhone and it lists the app and shows the correct icon. Selecting that, the "Show App on Apple Watch" switch is on. Underneath it it says, "Installing...". And it stays there.

I can also see the app icon on the Apple Watch. Selecting it just shows the spinning wheel indicator as if it is trying to load.

Things I've tried based on other suggestions I've found here, on the Apple Developer forums, and around the web:

None of the above work. Any suggestions?

Thanks!

Thomas Aylesworth

Upvotes: 38

Views: 18420

Answers (18)

david72
david72

Reputation: 7297

In Build Phases -> Embed Watch Content -> uncheck "Copy only when installing".

If you get "Cycle inside ...; building could produce unreliable results..." then move Embed Watch Content before Embed App Extension, and before Thin Binary phases.

Upvotes: 0

Amit
Amit

Reputation: 2715

I also had the same issue.

@SwampThingTom suggestion is good, but it changes the archive format as well size increases too.

In my case, the issue was DER entitlements not working only watch app, mobile app was fine.

  1. Make the changes as per the comment over here This Code Signature is no longer supported when building app on iPhone 12

  2. Upgrade to Xcode 13.1

Upvotes: 0

Tulleb
Tulleb

Reputation: 9186

I had the same endless installation issue ending with a Time Out error and I finally fixed it thanks to this answer: https://stackoverflow.com/a/61636074/2854405

I had to:

  1. Unpair my iPhone (from the "Devices and Simulators" screen),
  2. Exit Xcode
  3. Replug my iPhone
  4. Trust the iPhone again when it was prompted
  5. Start Xcode
  6. Rebuild

Upvotes: 0

Adam Smaka
Adam Smaka

Reputation: 6393

Press "Trust this device on Apple Watch"

Upvotes: 0

Osmani
Osmani

Reputation: 729

I have followed the answer by @hunterleebrown to see the log and found that the WatchOS version is not updated (i.e. Watch OS version is lower than the required version).

Here is the screenshot [ The log says (4th line): The system version is lower than the minimum OS version specified for bundle at ... ...]:

The log says (4th line): The system version is lower than the minimum OS version specified for bundle at ... ...

Then I went to the iPhone's watch app's-->general settings-->Software Update and found the watch OS is not updated (which is obvious). Then I downloaded the update and installed it. Then it worked!

Note: I also tried quitting XCode, restarting iPhone and Watch but didn't work for me.

Upvotes: 0

fujianjin6471
fujianjin6471

Reputation: 5248

In my case, I disconnect the iPhone and the Mac, reconnect them via data line. Then something appear on my watch, a choice, agree or disagree, agree it. After that, Xcode begin to install symbols for watchOS 2.1:

enter image description here

When this is done, you can check it in Library->Developer->Xcode->watchOS DeviceSupport->Watch1,1 2.1 (13S661)->Symbols

Then I disconnect the watch and iPhone, reconnect it. Now I can install WatchKit App on my watch.

Upvotes: 0

Ciryon
Ciryon

Reputation: 2777

I had the same problem but for me it actually turned out that the Apple Watch was running a WatchOS version lower than what what I had in XCode. I could not see a runtime warning about this (it just silently failed), but when selecting WatchKit scheme in XCode with device connected there was a small warning about version requirement.

Upvotes: 2

bruce1337
bruce1337

Reputation: 370

Here's what works for me with iOS 8.3 and Watch OS 1.0.1:

  1. Make sure your app is finished installing on your iPhone.
  2. Restart the iPhone by holding down the Home button and Wake/Sleep buttons.
  3. Launch the TestFlight app on your iPhone.
  4. Staying in TestFlight, go to your app's detail page and toggle the Install on Apple Watch to the On position.
  5. Press the Home button on your iPhone to exit the TestFlight app.
  6. Press the digital crown on the Watch to get to the Home screen. An icon for your Watch app should appear and begin installing.

Upvotes: 1

Hunter Lee Brown
Hunter Lee Brown

Reputation: 103

I've found it very useful for reading the iPhone console log. (Not to be confused with crash logs).

Use Xcode --> Window --> Devices -- select your plugged in iPhone, and make sure the log screen lower left arrow is down.

In my case, I had invalid provisioning profile entitlements, which were corrected via the Apple Dev portal, and re-downloading the profiles -- after making sure the entitlements were correctly being set in the WatchKit App Capabilities.

Upvotes: 9

Frodo
Frodo

Reputation: 91

Yeah, had that problem too.

I deleted the Xcode Beta (and the .dmg) downloaded it again and installed it.

Don't have that problem anymore.

Upvotes: 0

Luke
Luke

Reputation: 3433

Did you add a custom entry to the of your Info.plist of the WatchKit App This isn't allowed and it will fail validation and will just sit on Install... Checkout the device console log for information on it

Upvotes: 0

Vasiliy
Vasiliy

Reputation: 1

In my case I resolved this problem when selecting the WatchApp target to creating AdHoc.

So, for example, there is three targets in project:

  • Demo;
  • Demo WatchKit App;
  • Demo WatchKit Extension;

If create AdHoc with Demo target, you will get infinite installation. If create AdHoc with Demo WatchKit App target, the problem goes away.

Upvotes: -2

Kamran Khan
Kamran Khan

Reputation: 1366

Check Info.plist file. In my experience if there is something added there that is not supposed to be there, it will cause this behavior. I added NSLocationWhenInUseUsageDescription and it caused this same issue.

Upvotes: 4

Paradise
Paradise

Reputation: 568

make sure your app support 64Bit, otherwise it cannot run on Watch,just spinning there.

Upvotes: 0

SwampThingTom
SwampThingTom

Reputation: 890

A friend who works on the USA Today iOS team, including the Apple Watch app, suggested I go to the project settings for the WatchKit App target and set "Skip Install" to NO. Sure enough, after doing this, I was able to install.

Upvotes: 18

Sheamus
Sheamus

Reputation: 6606

I was getting this error too, and I got it to install, after creating a new project from scratch in the non-beta Xcode, and copying my assets and code into the new project. I had the same problem, and tried everything that people suggested on other posts, without any success, including everything that you listed above.

Apparently, there was something incompatible with the way the project was stored in the beta Xcode, that I had created for the WatchKit app.

Upvotes: 1

Mark Thistle
Mark Thistle

Reputation: 1871

You can also try deleting the watch app on the watch by long tapping on the icon and then you should get the giggle UI with a X on 3rd party apps. You can then delete the watch app and retry the install.

Upvotes: 1

Faisal Memon
Faisal Memon

Reputation: 3454

I have found a similar problem due to my storyboard referencing an image which I later deleted (I no longer actually used it anymore). This gave the symptom of running ok on simulator but not deploying fully on hardware as you are seeing. To exclude this potential problem go through each image view on your apple watch storyboard and look out for the exclamation mark against image view entries.

Upvotes: 3

Related Questions