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:
Verified that all app bundle IDs are correct and match.
Verified that the deployment target is iOS 8.2.
Verified that the WatchKit App runs in the simulator.
Verified that my provisioning profile includes my Apple Watch's UDID.
Verified that my Apple Watch shows up as a "Paired Watch" in Devices.
Deleted the app from my phone, and then rebooted my phone, watch, and Macbook before reinstalling.
None of the above work. Any suggestions?
Thanks!
Thomas Aylesworth
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.
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.
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.
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.
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.
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.
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.
Here's what works for me with iOS 8.3 and Watch OS 1.0.1:
Make sure your app is finished installing on your iPhone.
Restart the iPhone by holding down the Home button and Wake/Sleep buttons.
Launch the TestFlight app on your iPhone.
Staying in TestFlight, go to your app's detail page and toggle the Install on Apple Watch to the On position.
Press the Home button on your iPhone to exit the TestFlight app.
Press the digital crown on the Watch to get to the Home screen. An icon for your Watch app should appear and begin installing.
make sure your app support 64Bit, otherwise it cannot run on Watch,just spinning there.
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
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.
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:
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.
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 ... ...]:
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.
Press "Trust this device on Apple Watch"
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:
Unpair my iPhone (from the "Devices and Simulators" screen),
Exit Xcode
Replug my iPhone
Trust the iPhone again when it was prompted
Start Xcode
Rebuild
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.
Make the changes as per the comment over here This Code Signature is no longer supported when building app on iPhone 12
Upgrade to Xcode 13.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.
I have a new iPad Retina and I'd like to use it for development with Xamarin Studio and XCode 6. In the past, with XCode 5 you simply connect the device and click the button that says "Use for Development". But XCode 6 doesn't have that button anymore and when I try to build my application to the device in Xamarin Studio i get the error message saying "Could not install the application '/Users/jzacherl/Projects/CyCom/CyCom/CyCom/bin/iPhone/Debug/CyCom.app' on the device iPad: Your application failed code-signing checks. Check your certificates, provisioning profiles, and bundle ids. Probably your device is not part of the selected provisioning profile (error: 0xe8008015).
".
My application should support both iOS 7 and iOS 8. I've tried changing target deployment to and from 7 & 8 and I've tried restarting my mac/device and build/cleaning my project.
Despite the hints here and elsewhere, it took me awhile to find the exact solution. So, for others who are new to Xcode:
The navbar at the top of the main Xcode 6 window has a triangle run/play button, a square stop button, the app's name, then a target name, e.g. "iPhone 6" for one of the simulator options. The target name is actually a drop-down menu! That is where to select your actual device.
Now click the triangle button to build & run. Likely result: "No non-expired provisioning profiles are installed" with a button to "Fix Issue". Click that, wait a bit ... done!
Hat tip (and screenshots): http://www.bignerdranch.com/we-teach/how-to-prepare/ios-device-provisioning/#loc-provisioning-easy
Cross reference to a later question with a more descriptive title: There is NO Use for Development in Xcode's Organizer window
You can register a device with your Developer ID at:
https://developer.apple.com/account/ios/device/deviceList.action
(You will have to be logged into the developer site to do so.)
After that, everything should work fine. You can get your device's UDID from iTunes.
Try building and deploying an Xcode app and see what happens.
I believe Xcode will popup a helpful dialog if you need to do something Xcode can't do automatically.
First you have to register the UDID of the device in iOS member center and add with the provisioning profile and install the provisioning profile
In versions of Xcode prior to Xcode 6, you can connect the device to your computer over USB, open Xcode -> Organizer and select Use for Development.
Use for Development was removed from Xcode in Xcode 6 and later. It is no longer possible to do this for devices using Xcode 6 or later, even with the Devices page
Try going to Window->Devices. You should see your attached device in the list so right click on the device and select Show Provisioning Profiles.It will show a window where you can add your profile.
After that you will be able to install your app in that device.
When trying to run any project in an Xcode Developer Preview (Xcode 5 DP6 in my case), the app is not started and the following error message appears:
Could not launch "" - No such file or directory (/private/var/mobile/Applications/741F0826-E354-4E13-9CC3-0FB3A66E8798/.app)
The solution was very simple in my case, in Terminal just execute
sudo xcode-select -switch /Applications/Xcode5-DP6.app/Contents/Developer/
with the path for the currently used Xcode Developer Preview.
Do not forget to switch back when developing on the previous stable Xcode version again - especially when archiving for AppStore submit.
I faced the same problem, I did following things to sort out my problem:-
1) Changed "don't sign" and "iPhone distribution" to my valid developer provisioning profile in Xcode's build setting.
2) Quit Xcode.
3) Uninstalled App from device.
4) Unplugged device.
5) Plugged in device.
6) Ran Xcode
7) Built and Ran App.
Thats it :)
This has a very simple solution (works on every Xcode so it's not NDA thing):
Kill all Xcode running
Delete the app from device (if there is any), Restart your device and disconnect it (if was connected).
Open organiser in Xcode and check that device is connected and used for development, if not select "use for development"). Device should be on and connected.
Check the signatures are good.
Build& run.
This should work. Let me know if it doesn't.
I worked on this issue for about an hour, trying everything on every post I could find on SO, but nothing worked. I then compared my project settings to another project that did run on iOS and found the issue was MACOSX_DEPLOYMENT_TARGET was set to 10.7 on the iOS build. I share the same project for my iOS and OSX targets for each app I make, so it's easy to see how this happened. I deleted the setting at the project level, added it to the target level for each OSX target, stripped and built the iOS target and it finally ran! Not to say the other solutions are wrong here, there just could be multiple causes.
I know this question has been asked quite a bit before, but none of the known causes seem to be the case in my situation.
The device is provisioned & connected. I can see it in iTunes as well as the XCode organizer and it's marked 'green'.
It is also set up for development and has the provisioning profile used for development installed. The profile is also present and valid in the XCode organizer.
The project & target 'iOS Deployment Target' is definitely below that of the device (deployment target iOS 3.0, device is 6.0).
The device is added to the development provisioning profile in the apple dev site.
Any idea what else could be causing this problem? I should add that my XCode version is 4.6.3.
Answering my own question here. Wasted a bunch of time on this, but sometimes it's the simplest thing that kills you. It turns out someone on my team had changed the target's supported Device (under Targets -> APP_TARGET -> Summary -> Devices in the project settings) to 'iPad', when the app was supposed to be 'Universal' all along, and I was trying to deploy to an iPhone.
I keep getting the error:
“Xcode cannot find the software image to install this version” on deployment?
I upgaded my iPhone to version 6.1.3 and also recently updated xcode to the lastest as well. Before doing this, I could deploy my apps to my phone, but now my apps won't deploy to my device.
Do I have to go and make another provisioning profile and all that stuff again? (I did it all a couple of months ago and got everything working when I was still on iOS 5).
Thx,
You need to upgrade the version of your Xcode to 4.6 in order to use your iOS 6.1.3 device for testing & deployment purposes.
The latest version of Xcode is 4.6.1. You can update it using Appstore App.
I had this issue. Eventually I found refreshing my provisioning profiles (in Organiser, select devices, in Library select Provisioning Profiles (top left) and click on refresh (bottom right). Then my devices accurately reflected my provisioning profiles and everything worked.
The message "xcode cannot find the software image to install this version" seen in the organiser window... This is just a notification rather than a problematic error.
Source: https://stackoverflow.com/a/8537034/736384
So, if it is a update problem, Rajan's answer should solve it, if not:
That message has nothing to do with the problem that you can not compile. When you want to compile, didn't Xcode show any message error?
Anyway you could try restarting Xcode (quit iTunes first if it's running).