We've been developing and testing a Watchkit Extension app (iOS 12.1 and WatchOS 5.1) for the past few months and successfully testing it on a simulator and local, connected devices (iPhoneX + Watch 4) using xCode 10.1.
This past week we built an archive for posting to App Store Connect. We got stuck in the Archive Organizer after archiving for release. The "Validate Content" button was disabled, the Version is blank, the Identifier is blank, and the Type is "Generic Xcode Archive". Unfortunately, all we can do is export the .app files from the Archive Organizer; we can't push the archive to App Store Connect.
We made sure the build scheme was set to Release and we archived to a Generic iOS and WatchOS device. We also set Skip Install for the three targets (iOS app, Watch app, Watch extension) to No as we assumed none of those are static libraries. We even tried every permutation of Skip Install settings. We looked at the issue in the following link and we have no Header steps in the Build Phases of any targets:
https://developer.apple.com/library/archive/technotes/tn2215/_index.html#//apple_ref/doc/uid/DTS40011221-CH1-PROJ
We have two frameworks we included in the project using carthage. We thought maybe these were causing issues, but we rolled back to a branch before we added them and still have the same problem.
We made sure the build in the Scheme is set to a single target and cleared out the Derived Data folder. Still no dice.
I’m not 100% sure from your question, but are you trying to push an archive of the watch app to the App Store?
If so, that’s not how you submit the app. The Watch app is embedded in the “regular” iOS app, and to distribute it you need to archive and submit that app as usual.
If I’ve misunderstood, feel free to ignore this!
I had the exact same problem. When I changed Skip install on the watch app and watch app extension to YES, it suddenly worked. No idea why.
I'm interested in adding a Watchkit Extension to my existing app already in the app store. I've done my research, followed some tutorials, and now am ready to actually implement.
The problem I'm having is, I can't seem to add a Watchkit App to my existing project and get it to run in the simulator. If I start a new project and do some tutorials or whatever, the Watchkit App runs fine. Adding to my existing project, I just get a black screen in the simulator window. Not even the status bar is present. http://i.imgur.com/kG7H06i.png
Only lead I have so far is: In the debug navigator, I get "Waiting to Attach" every time I try and launch the app. http://i.imgur.com/vYLfJN8.png
Any help on this would be appreciated. I reseting my simulators, tried deleting my simulators and then reinstalling. Double checked that bundle identifiers and versions match. Target for the WatchKit App and Extension are both set to 8.2 (I was getting an error setting to 8.3). Target on the main app is 6.0, but I tried bumping this up to 8.2 and had the same results.
Thanks!
EDIT: Before this is marked as a duplicate of How to run a WatchKit App, I do want to mention that I'm running the "Watchkit App" Scheme, and I do not have a status bar like in the window like he does.
Are you using iOS 8.2 simulator ?
I had similar error, switching to simulator with iOS 8.3 fixed it for me.
Check that your build target is the Watchkit App. I had it set to the main app so the main app was launching in the sim, but the watch app was blank.
referenced here.
How to run a WatchKit App
I am also running into a similar problem but not on the simulator but on the Apple Watch device. Try setting Skip Install to NO in the WatchKit App target settings
After working with Apple, it appears as if this was an issue with Xcode creating the target. Our app is several years old, and for some reason when creating any new target, the Wrapper Extension is set to "app" every time. This has caused us issues in the past with trying to add testing targets as well.
We were able to fix the issue by going to the Watchkit Extension target, and changing the Wrapper Extension from "app" to "appex". Make sure you leave the Watchkit App target to "app". We asked why Xcode wasn't doing this automatically for this particular project, and it's because the overall project target has the Wrapper Extension set. If you create a new project, you'll notice that Xcode now leaves this blank.
Hope this helps someone else.
Sometimes, restarting Xcode solves the problem.
Even if everything is configured correctly, it may take 20 seconds to attach the process to the debugger.
I tried everything but nothing helped. Then I backed up the watch app and watch extension folders. After that I removed the watch app and watch extension targets and created new targets. Then I restored the files from the backup. It's an awkward approach but it solved the "waiting to attach" problem.
Xcode 10.0; Swift 4.2; iOS 12.0
I had the same issue with Apple Watch simulator. What actually solved it was deleting the default Siri watch face from the Watch App on the iPhone simulator.
I updated Xcode to the 6.1 version and now I don't understand why I can't select the simulator in the top left corner like in the previous version when I want to run my application. The only choice that appear is a general "iOS device".
Press "Window" and then "Devices", check if they appear there and if not - click the "+" icon in the lower left
Go to File -> Project Settings -> Info.
Change the deployment target to a lower or higher version.
Most probably you do not have a simulator installed for the current deployment target. You can do so by going to Xcode Preferences -> Downloads. In the Components section, you will see the options for downloading the simulators you already don't have.
Faced the same issue many times and found this solution. Hope this helps. :)
I finally found the solution. When I added a simulator in the devices menu (Shift+Cmd+2) I got this error: "Unable to determine SimDeviceSet, set_path=/Users/MyUser/Library/Developer/CoreSimulator/Devices"
I checked the directory and there was not the folder "CoreSimulator", so I created it. I restarted XCode and now there are all the iOS Simulators selectable for running my app.
Thank you all.
I suspect that you are having issues communicating with CoreSimualtorService due to renaming Xcode.app or similar. This is mentioned in the Xcode 6.0 and 6.1 release notes. Unfortunately, the only workaround at the moment is for you to rename it back or reboot.
Update:
Note that for current (as of this update) versions of Xcode (7.2+), renaming should work ok. For best results, only use one version of Xcode at a time. If you start another version of Xcode while one is running, the previous one will loose access to simulator devices. Restarting it will cause it to have access to the simulator devices (and of course the other one to stop). Basically, the last one wins.
I experienced same issue.My OS is 10.9.5. I solved this issue by downloading IOS simulator 7.1 from Xcode Preferences -> Downloads -> iOS 7.1 Simulator.
And then Windows -> Devices -> added simulator devices by clicking +.
Thanks.
Go to Window -> Devices and Simulators, check whether there is any Simulator listed. If no, add by clicking over "-" over the lower left corner. Or if devices are there but you are not able to see them in devices to be choose from, then check for deployment target that might not be compatible with Xcode simulators, set target according to your Xcode support and you will see the simulators list.
in my case, after delete xcuserdata from my folder, then simulate only have my mac without any other options. after search, I found in scheme setting, Run->Info->Executable without any app. Then I select my app in the project. then simulator all come back.
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've been running my app on an iPhone 5 /iOS 6, but when I try to run it on an iPhone 4S / iOS6 I get "The run destination iOS Device is not valid for running the scheme NN. The Scheme contains no buildables that can be built for the architectures supported by the run designation device".
I've looked at previous postings on this but they involve issues with the Deployment Target.
In my case I've got the Base SDK set to 6.1 and the Deployment Target set to 5.0.
The iPhone 4 has got iOS version 6.0.1.
It was a bug in XCode, I closed and reopened Xcode and it started working.
I've noticed this sort of thing many many times now with Xcode with other problems, its very frustrating that the tool is so dodgy.
I had the same problem. The issue that i found is that , by mistake I had chosen iPad as deployment target due to which XCode showed that iPhone 5 is an invalid device. .
Hope it helps. Then I just changed the target to iPhone and it worked.
The run destination iPhone is not valid for Running the scheme.
Quit Xcode
Open Xcode
Clean project
Run project
It will work
This is some sort of memory issue sometimes.Close some application and try again.
Close Xcode too and reopen. Worked for me.
Cheers.
Quit and Reset Xcode can reslove most problem. The other cause is Device not support iPhone, you can
Target -> select scheme -> General -> Deployment Info -> Device-> select Universal or the current device you want.
In my case the problem was missing executable value selected into Scheme -> Profile -> Executable (e selected from the dropdown build configuration debug and executable the "application".app).
A simple solution.
1) Force quit X-Code
2) Force quit itunes
3) Reconnect iPhone
4) Open X-Code
Go to project info set development Target as 4.3 or 5.1.1 and same in target also.
I had this problem in XCode 9.0.1.
It seems that XCode does not refresh the list of connected devices.
You may notice that after disconnecting your device, you can still choose it as a target. So XCode may actually be trying to connect to a bogus device.
To fix this:
Edit the scheme.
Re-select the scheme's executable.
this seems to force XCode to update the list of connected devices.
If that did not work, try reconnecting your device (cable) before you do this.
Or perhaps, some other combination of disconnecting device, connecting device, and re-selecting the scheme's executable.
As a desperate measure, you may also try to change the cable that connects your mobile device to your pc.
But ideally... Xcode should be fixed.
Just Go to Devices -> The Intended device you wanted to run (I Was iPhone6 Simulator)-> Select the Device (I was selected iPhone6) -> Right Click-> Make sure the ‘Show the Run Destination Menu’ enabled.
For Me, it was enabled. I did, it worked.
I faced this issue in XCode 9, but later realised that for some reasons I had unchecked run destination in "Devices & Simulators" window
In my case, none of the answers given worked for me.
I was trying to setup TravisCI to my project and this is what i did:
Select Target > Edit Scheme > Build
Check the "run" option in the Tests target and the issue disappeared, i hope this help someone, i spent 2 days trying to fix this.
Other solutions might work for other scenarios but, in case using Xcode 11, I went into "Build Settings" of my test target and changed to universal under "Deployment"->"Targeted Device Family"
Select your project, Under Targets, select your main target, then on the Build Settings Tab, there is one field that says "Valid Architectures". Make sure "armv7" is also there. You probably only have armv7s right now.
I am using XCode 8.2.1 having same problem.
Solution:
->Go to Devices
-> Add additional simulators
->Right Click simulator u are using
->Show in Run Destination Menu <-Enable this Option
For me Xcode failed to copy symbols for connected device due to low disk space. First check if you have symbols connected device under /Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/.
Since I had iOS 8.3 (12F70) installed on my device the path for me was /Users/$USERNAME/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)/Symbols The size of this directory should be around 2.5GB.
When I got this issue the size was 484 KB.
To fix it I
Free up about 3GB of disk space. You can delete folders for any unsupported devices that you might have under /Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/
Disconnected device from Xcode and closed Xcode.
Removed the folder in above path (everything under 8.3(12F70).
Start Xcode and connected the device.
Xcode should start Copying symbols once done the size of the folder should be around 2.5GB
This happened to me because I switched branches in source control with unshared schemes.
My xcuserdata folder was git-ignored, and it contained a scheme I forgot to share. This meant I was trying to use a scheme that was from a completely different code branch.
I remade the scheme which fixed the problem, and marked it as shared so that it would be in the xcshareddata folder and checked into source control.
For my case, check the target -> Build Settings -> Search "Mach-O Type" and check the value, it should be Executable/Dynamic Library/Static Library. For other type values, the target could NOT be built and run.
This is similar to Kunal Gupta's comment, but I got this error after running an Xcode project on an actual iPad (the deployment target was changed to iPad and I wanted to run it on my iPhone simulator). Remember to change the deployment info after you use an actual device/simulator, especially when switching from iPad to iPhone.
Swift 3 or 4 Xcode 8 or 9
One thing you can do is click the Project file to open up General Settings, Capabilities etc.
Choose Build Settings
Search for Base SDK
Make sure debug AND release have the same build type.
I had debug set to ios 11.0 and release set to macOS 10.13
They must be the same in order to Archive
In my Case,
I open my iPhone here is the alert appearing in my iPhone for Trust and Don't Trust. I click on Trust. It works fine.
Switching to a different USB port and restarting Xcode solved the problem. Experienced this issue on iMac running Xcode 9.1 whenever I tried connecting any iOS device to one specific USB port. If your USB ports stopped working, check this.
Open the Apple Menu > About this Mac > More Info > System Report > USB and check that the device appears in the USB Device Tree. If it is not here try another USB cable.
I notice this with certain cable+device combinations (probably bad contact), restarting the XCode will only help for one or two runs and then it strikes again. Changing cable / device is the only long term solution worked for me.
In my case, this issue was fixed changing the Architectures (Build Settings --> Architectures) to Standard architectures - $(ARCHS_STANDARD)
Make sure to have arm64 armv7 armv7s on Valid Architectures.
In the case of iOS 13.x - What worked for me is unpairing my watch to my phone and repairing it to my iPhone. I wouldn't just unpair it via Bluetooth- I repeated the whole cycle as if I got a new watch. It took 10 mins to do the whole thing. When I ran my app again, it worked. From there, ensure all your Targets have the same sign in for identity.
Device Support Files is missing for device iOS version. Add it in XCode App Content path.
App Content Path is "contents/Developer/platform/iPhoneOS.platform/DeviceSupport"
Dowloaded support files from here and past them by creating folder of device version number there in app content path.
Go To General => Supported Destinations add IPhone or whatever platform you want run your app.
I encountered this issue while trying to run a watchOS app. After restarting both the Apple Watch and the iPhone, it displayed a different error message that informed me about the Developer Mode setting being turned off:
The run destination iPhone is not valid for Running the scheme 'My Watch App'.
To use Apple Watch for development, enable Developer Mode in Settings → Privacy & Security.
I turned on the Developer Mode setting, restarted Xcode, waited for a bit and it started working again.
Make sure your Xcode is up to date.
This might sound obvious. I tried all the answers presented in this threat and nothing would help. I used Xcode 12.0. After upgrading to 13.1, everything worked as expected.