How to change iOS simulator directory - xcode

Xcode takes a lot of free space on my SSD therefore I installed it on my external HDD. But when I tried to download any of iOS simulators in Xcode preference I noticed that it was still downloaded on my SSD. Could you please tell how can I change iOS simulator directory? In terminal, anywhere else?
I tried to find command line combination, which change path to simulator
I expected that iOS simulators will get downloaded to my external hdd and would work well

As of Xcode 11 (released to beta to developers yesterday), we should locate the simulator runtimes located in /Volumes/*/Library/Developer/CoreSimulator/Profiles/Runtimes
I suggest you move them to that location on your spare drive. Doing so while CoreSimulatorService is running will probably confuse its state because we don't currently handle runtimes vanishing from the root filesystem (we do handle them disappearing due to a disk eject through), so you will probably need to SIGKILL CoreSimulatorService after doing the move by running:
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService 2> /dev/null
If you don't want to wait for Xcode 11, you can also just create a symlink from /Library/Developer/CoreSimulator/Profiles to /Volumes/MyHDD/Library/Developer/CoreSimulator/Profiles.

Related

When launching an iOS simulator it closes straight away but still runs in the background

When I try to run a project (even a default single view app) in Xcode 10.2 (also occoured on Xcode 10.3 and beta 11 build 3) the simulator launches but then closes but Xcode still thinks it's running (looks like it is running headless). Any ideas on how I can see the simulator?
I have tried the following so far but the only time I can see the Simulator is on its first launch after that it disappears after launching.
Uninstalling and re-installing Xcode (making sure to delete all related directories and doing a system restart)
Adding and removing simulators from window -> Devices and simulators from within Xcode
Tried clearing the simulator cache xcrun simctl erase all
Tried running the following sudo killall -10 com.apple.CoreSimulator.CoreSimulatorService
Clearing Derived data ~/Library/Developer/Xcode/DerivedData/
Another thing I noticed is if I run: /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator I get the following error:
Bus error: 10
But if I run: sudo/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator the Simulator launches fine.
Thanks for any help.

Failed to find a suitable device for the type IBSimDev

I'm getting the following 2 errors that seem that alternate every time I try to build. I just upgrade my iOS to 12.2 which forced me to upgrade my osx to Mojave 10.14.4 and my xcode to 10.2.
Failed to find or create execution context for description.
Filed to find a suitable device for the type IBSimDeviceTypeiPad2x in
Assets.xcassets
This I have tried:
Cleaning Build Folder (repeatedly)
Closing and restarting Xcode and the simulator
Deleting Derived Data
I had faced the same issue my issue resolved by doing:
Clean build folder (shift + command + K)
Restart your system (Mac)
Note: Also missing simulator after updating to Xcode 10.3 fix by this solution.
Run this command in the terminal to make sure all simulator process in the background are killed :
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
Well I don't know how many other people this is going to help out but here was my issue:
I poked around and finally got another error that said that my simulator runtime is not available. What ended up solving it was simply restarting my macbook found from this thread: The iOS 8.1 simulator runtime is not available error in Xcode 6.1

Xcode 7 Beta WON'T INSTALL

I've been trying to install the Xcode 7 Beta 3 from Apple for hours and it just won't run on Yosemite 10.10.3. I download and run the installer, and everything works fine, but when I try to open Xcode beta I get a window that lasts for 30 minutes that says "Verifying" and then when it closes sometimes I get a window that says the Xcode beta was downloaded from the internet and it wants to know if I still want to open it. I click "Open" and nothing happens!!! According to task manager, Xcode beta is not responding. I've tried to reverify it 6 times, and even deleted and reinstalled xcode 7 beta from Apple. I'm going to put the El Capitan public beta on my external hard drive and see if xcode 7 will run on that. Though, is there anyway I can get Xcode 7 Beta 3 to run on Yosemite 10.10.3? I have a mid-2009 MacBook Pro, 2.66GHz Intel Core 2 Duo, 4 GB RAM, 256GB SSD.
Ran into the same issue with Xcode 7 beta 4. According to this blog post you just need to quarantine it to disable the Gate Keeper check.
cd /Applications
xattr -d com.apple.quarantine Xcode-beta.app
open Xcode-beta.app
assuming your install folder is /Applications
Update:
This command may not fix everything that needs to disable Gate Keeper. For maximum efficiency, use the recursive flag to make sure to get everything (including simulators) packaged in the app.
sudo xattr -dr com.apple.quarantine Xcode-beta.app
Note: you need sudo since some of the files are protected.
For whatever reason when I added the the xcode beta to my external drive, I opened the one in my external hard drive and now it works just fine. Maybe there's a bug that makes sure that there can't be two versions of Xcode on the same drive?
I have both XCode 6.4 ans XCode 7 installed on the internal drive of my macbook OSX 10.10.3 and it works...

Xcode 6.3 is not opening instruments anymore

I updated my Xcode from 6.2 to 6.3 and now instruments is not working anymore, it is requesting a template and it doesn't matter which one is chosen, it is not able to open it.
It is happening with iOS 8.2 on an iPhone 6+, and with the simulator (ios 8.2 and 8.3).
UPDATE I also updated my phone to iOS 8.3 and tried with Xcode 6.4Beta and I still have the same problem.
Try to run this from a terminal:
sudo chmod a+rwxt /Library/Caches/com.apple.dt.instruments
to fixup permissions on that directory.
Source : https://forums.developer.apple.com/thread/6441
I actually got the same problem with Xcode 7 and solved it by deleting instrument's default base temp directory, and I guess it was in this folder (/Library/Caches/com.apple.dt.instruments)

Is it possible to get the iOS 5.1 SDK for Xcode 4.2 on Snow Leopard?

I still have Snow Leopard. I have Xcode 4.2 for iOS development. This morning I upgraded my iPhone and iPad to iOS 5.1.
But Xcode 4.2 is not detecting my device for testing. I could not find the iOS 5.1 SDK image on Apple's developer site, for Xcode 4.2.
I don't want to do upgrade to Lion to get XCode 4.3 at this time.
Will I able to use Xcode 4.2 (on Snow Leopard) for iOS development now?
To get Xcode 4.2 on Snow Leopard to run code on a device running iOS 5.1 you can do this:
If you have another Mac running Lion and Xcode 4.3.1 you can copy the files from:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)
Place the copied files in the equivalent place on your Snow Leopard Mac: probably
/Developer/Platforms/iPhoneOS.platform/DeviceSupport
Similarly copy the iOS 5.1 SDK files found in this directory:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
Also copy 'version.plist' from the Lion machine in the iPhoneOS.platform folder to the Snow Leopard machine.
Re-start Xcode on the Snow Leopard machine and re-connect the devices and it seems happy enough.
If you don't have access to a machine with Lion and Xcode 4.3.1:
You can get the files out of the 4.3.1 DMG which can be downloaded from Apple here: Downloads for Apple Developers.
Mount the DMG, Show Package Contents on the Xcode icon and drill down to
/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
Follow the steps above.
You might find it more convenient to use Apple's proprietary ditto method (sudo ditto src dest) in the terminal window to copy the folders.
Note,this hack will also work for latest iOS 6 SDK.
You have to get Lion, iOS 5.1 SDK is only for Xcode 4.3.1 which is only available for Lion.
... and your Xcode will not be able to build to your device if you have already updated it to 5.1 because it won't be on that version of Xcode's approved SDKs
I'm working on this now. I have the same issue.
The MAJOR PROBLEMS here are that:
1) Apple never provided a warning dialog that this might disable people developing under Snow Leopard.
2) There is no easy way to undo this.
3) This should not happen on a point release update.
I've tried to install the previous ipsw from 5.0.1 for my Gen 4 IPod Touch from here:
where to download ipod touch firmware restore links
It will not install.
I've downloaded the Lion Xcode 4.3.1 from here (sign in as a developer first)
Lion Xcode 4.3.1
And run some scripts from the Dev Forums here:
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1\ \(9B176\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
sudo rm -f ./Latest
sudo ln -s ./5.1\ \(9B176\) ./Latest
Unmounted the Lion DMG and restarted Xcode. This allowed me to test 5.1 in the simulator but broke every build to every device with a SIGABRT or link error.
I'm off to the Apple store to have them restore my device. If I get any more information, I'll let you all know. This has been a VERY EXPENSIVE and VERY UNPLEASANT surprise.
Adding to Richards solution above, I found that if you also copy, from XCode 4.3.1 dmg...
edit: updated to correct path within dmg
/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develope‌​r/SDKs/iPhoneOS5.1.sdk
~~ (entire directory tree)
to
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
XCode debugger will startup correctly (without all the error log and dumps)
ie:
===============================================================================
warning: Unable to read symbols from "dyld" (prefix __dyld_) (not yet mapped into memory).
warning: Unable to read symbols from "SystemConfiguration" (not yet mapped into memory).
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of dyld found locally, reading from memory on remote device. This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device. This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device. This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (file not found).
warning: No copy of SystemConfiguration.framework/SystemConfiguration found locally, reading from memory on remote device. This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of MessageUI.framework/MessageUI found locally, reading from memory on remote device. This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (file not found).
warning: No copy of AudioToolbox.framework/AudioToolbox found locally, reading from memory on remote device. This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/iAd.framework/iAd (file not found).
warning: No copy of iAd.framework/iAd found locally, reading from memory on remote device. This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices (file not found).
warning: No copy of SpringBoardServices.framework/SpringBoardServices found locally, reading from memory on remote device. This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/FTClientServices.framework/FTClientServices (file not found).
warning: No copy of FTClientServices.framework/FTClientServices found locally, reading from memory on remote device. This may slow down the debug session.
===============================================================================
There is an answer here that also provides the copy of the simulator v 5.1.
No manual operations. Just open the Terminal, copy and paste the provided commands.
http://www.iphonedevsdk.com/forum/iphone-sdk-development/100229-snow-leopard-sdk-5-1-a.html
if you want to also add iphone simulator 5.1 to your xcode then copy
/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
entire directory to the following path =>
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
after you can also able to use iPhone simulator 5.1 to debug your application.
You can use apps compiled for 5.0 on your 5.1 or 5.1.1 device by compiling them and manually dragging .app file to iTunes. Tried today on 10.6.8 and XCode 4.2.
Download the iOS 5.0.1 firmware of your device on this link : http://www.iphonefirmware.com/firmwares-download.
And do a manual restore on iTunes.
I did it today (March 8) on my iPad 2 and it works, Apple still seems to sign this iOS version.I guess not for a long time, so do it quickly.
It is not possible to use a 5.1 device on xcode 4.2, since you don't want to upgrade, you can use the organizer, select your device, and use the restore feature. You can google for the 5.0.1 version and use that one.
(although upgrading to lion is super cheap)
EDIT: Seems this is possible, scroll up for the highest voted answer.
I am using Mac OS X 10.6.8 and Xcode 4.2 and also upgraded my iPhone to iOS 5.1. I needed to get a test version onto the device in a hurry yesterday but did't have the time to install Lion and Xcode 4.3.
I've been using TestFlight (www.testflightapp.com) for beta testing. I created an .ipa archive from Xcode 4.2 and was able to install it on my iOS 5.1 upgraded iPhone via TestFlight.
I know it's not an ideal solution but it helped me get out of a tight spot yesterday without resorting to hacks.
p.s. I'm not affiliated with TestFlight in any way.
Xcode 4.2 seems no more available on developer.apple.com for snow leopard users :( also for registered paying iOS developer like me...
It seems that at the moment there is no legal way to get it...
You must add the Symbols alias too..for example in /Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0 (10A403) you must add Symbols alias that point to /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk so xcode 4.2 can detect your ios6 device (tested on mac mini 1.5 intel core solo with snow leopard). Cheers
I think you can test ios 5.1 device in Snow Leopard as explained in above posts. But it is always safe to upgrade to Lion and use the official sdk release. Because we cant predict what issue could happen if we do some "Tricks" on our machine to make it happen and it may happen when in your most unwanted time (like when submitting to appstore). :)
As of the date of this writing 3/20,2012, Apple is not letting people install previous ipsw files from 5.0.1. If you upgraded your device to iOS 5.1, like I did with my gen 4 Touch, then you either have to get iOS 5.1 running in Xcode 4.2, or you have to revert your device to 4.x, or you replace your device.
I brought my touch to the Apple Store and they replaced it.
If you install the ipsw for 5.0.1, Apple's servers will state that this is not allowed for your device and you will be unable to revert. You'll have to try 4.x to your device or make sure that the iOS 5.1 SDK is running in Xcode 4.2.
I have found how to solve it!
My system is Snow Leopard 10.6.8, and I have two sets of Xcode of 3.2.5 and 4.2, after I had upgraded my iPad 1 to iOS 5.1, I launched Xcode 3.2.5, it prompted me a window of 'unknown device was found', I answer 'Yes' to download lots of libraries from my iPad, several minutes later, I can debug and run my projects on my iPad!
Then I launched Xcode 4.2 and opened one of my previous projects, I can really debug and run it on my iPad!
In this way you can use either version of Xcode to develop apps on a Snow Leopard system.

Resources