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

15

139

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?

Stithy answered 8/3, 2012 at 6:6 Comment(0)
D
213

To get Xcode 4.2 on Snow Leopard to run code on a device running iOS 5.1 you can do this:

  1. 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)

  2. Place the copied files in the equivalent place on your Snow Leopard Mac: probably

    /Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. Similarly copy the iOS 5.1 SDK files found in this directory:

    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

  4. Also copy 'version.plist' from the Lion machine in the iPhoneOS.platform folder to the Snow Leopard machine.

  5. 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:

  1. You can get the files out of the 4.3.1 DMG which can be downloaded from Apple here: Downloads for Apple Developers.

  2. Mount the DMG, Show Package Contents on the Xcode icon and drill down to

    /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. 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.

Dictate answered 8/3, 2012 at 16:33 Comment(24)
Today i have upgraded my system to Lion. Thanks for the Hack.Stithy
Thanks very much :) Worked perfect for me. At least I'll be able to develop with sl for some more time.Ase
Thanks, this is almost working for me but when I try to debug an app on the device from XCode it hangs on the launch image. This may or may not be related to the fact that I downloaded the .dmg twice and both times the checksum verification failed, so I skipped it and carried on regardless.Unman
I fixed the above problem by also copying across the files in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk. Thanks for this, I can now defer replacing my ancient Mac for at least a couple more months.Unman
can someone explain this step here: then mount the DMG, Show Package Contents on the XCode icon and drill down to?Dialyser
Drill down to: "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)"Duwe
Thanks a lot. Dan Dyer's comment also helped. I'm now using iOS SDK 5.1 from Xcode 4.2Osmometer
Thanks a ton! I had the same problem as Dan Dyer, but copying the file from Dan's comment fixed it.Zirconium
be sure to also follow the advice to copy the /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develop‌​e‌​r/SDKs/iPhoneOS5.1.sdk files from the DMG into your /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ (and the .plist mentioned in this answer), otherwise debug is fairly broken. You will also want to do a clean build of your project or breakpoints won't workSchwing
Richard Groves' method worked great for me - thanks. Plus with the debug issue posted by Dan Dyer, turns out that after waiting for 15 minutes (!) after app launch from Xcode, the debugger finally catches up and the app starts working... Not very practical, but keeps me working while waiting for the .dmg download...Ambulator
@Schwing - I still see the 4.3.1 dmg fine at developer.apple.com/downloads/index.action# and am currently downloading it.Ambulator
Thanks Substance G, the other download links listed here were failing in various ways, but that page worked fine.Qnp
thanks @SubstanceG -- it does seem to be back, but seriously, it was not there for me then, though now it is :) still, other info still applies.Schwing
None of those DMG files at any of the links above would open for me on Snow Leopard - they all said invalid checksum. Luckily, I had an old USB harddrive and installed Lion on it. It doesn't recognize my Bootcamp partition (bad!), but at least I was able to grab the SDK and finish up my app. Thanks.Lumbricalis
Worked Perfectly for me!!!! I have 10 mac and it was hard to update them all for me just for a silly update done by mistake. You saved my life! :) I wish I could up vote 100 times!!Jaworski
Works just fine with dmg of latest xcode 4.3.2 dmg and iOS 5.1.1 on xcode 4.2 (old mac mini does not support Lion)Lavolta
XCode 4.3.3 contains it as well and works great. Thanks a lot for thisGoldner
Sweet! Snow Leopard, Xcode 4.2, running apps on iphone 3GS with iOS6Labarum
"iOS Simulator could not find the SDK. The SDK may need to be reinstalled." That's the error I have after following the instructions...." I'm trying to run iOS 6.0 in the simulatorCarincarina
@Richard Groves: is there any way to upgrade IOS 6 simulator for in xcode 4.2 snow leopard as like device SDK?Knickknack
This seems to work initially, but I get the following error when I attempt to switch between viewControllers when I test with my device: Error Starting Executable “AppName" Error launching remote program: failed to get the task for process 453. @Richard do you know why?Northumbrian
I also installed the iOS 6.0.1 files from XCode 4.5.2.dmg @HenrikErlandsson, but I get the above error when I attempt to test on my device (iOS 6.0.1). Do you experience any problems?Northumbrian
We tested this before the holidays. I can build fine for an Iphone 4S with latest 6.0.1 (10A523), but not with an Iphone 5 with latest 6.0.1 (10A525). We think the reason XCode can't green-light the device in Organizer has to do with the change in upgrading method (over-the-air, no files to download on developer.apple.com), but if someone succeeds we'd like to hear about it.Inellineloquent
It works but Xcode 4.2 but sadly doesn't with Xcode 3.2. Still, it did help me out in other project. :) +voteSlushy
A
14

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

Ability answered 8/3, 2012 at 6:26 Comment(0)
C
14

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.

Complicity answered 13/3, 2012 at 21:28 Comment(2)
I entirely agree with you. Apple's behavior on this is beyond irresponsible. It tells you: they just don't care.Nickelsen
I used to love Apple before I became one of the poor bastards who had to develop on the iOS platform.Complicity
C
8

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.
===============================================================================
Cartridge answered 12/3, 2012 at 17:59 Comment(2)
I think the path you mean is: /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs (which is a bit deeper than your post suggests - complicated hierarchy Apple's ended up with isn't it?)Dictate
indeed, you are correct. updating post to reflect your correct path. cheers ~Cartridge
C
7

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

Commercialism answered 13/3, 2012 at 11:39 Comment(3)
I followed both Richard Groves and @dklt's set of instructions. It did not work. But I fired the scripts given in this link and it worked like a charmJacksnipe
"This web page at www.iphonedevsdk.com has been reported as an attack page and has been blocked based on your security preferences." - I would be very careful :)Cracy
The whole iphonedevsdk.com site has been reported, not only this page.Commercialism
D
5

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.

Durand answered 24/3, 2012 at 7:21 Comment(2)
I get the following errors when I do this @hchouhan02: Interface Builder XIB Compiler Error: "Command /Developer/usr/bin/ibtool failed with exit code 255" and Uncategorized: "Build task failed without generating error messages."Northumbrian
Try this => quit xcode => open xcode => clean project after try to build project.Durand
M
5

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.

Midst answered 14/5, 2012 at 6:30 Comment(3)
This worked for me today. I'm on SL with xcode 4.2. [Mac OS X 10.6.8 (10K549). Xcode 4.2 (4C199). iPhone OS SDK 5.0: (9A334).]Owl
You can find the .app file in ~/Library/Developer/Xcode/DerivedData/{app name}/Build/Products/Deployment/ (thanks to https://mcmap.net/q/168170/-xcode-4-how-do-i-get-the-app-file)Cracy
And some more info here in terms of how exactly to get this all running: https://mcmap.net/q/168171/-how-to-get-app-file-of-a-xcode-applicationCracy
H
4

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.

Honor answered 8/3, 2012 at 15:1 Comment(2)
March 10th: Did not work. Got a message stating the version of the software was not supported for my device, an iPod Touch 4G.Muff
Apple stopped to sign it since last week endHonor
L
3

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.

Limitless answered 8/3, 2012 at 6:31 Comment(3)
As Mountain lion will be released in couple of months, i dont want to upgrade to Lion now, Assuming that i should be able to upgrade to Mountain Lion from Snow Leopard. I guess i need to find a way to restore iOS 5.0.1 to my device. ThanksStithy
you are welcome. It shouldnt be that hard to restore, Like i told you before, xCode provides the restore feature (found in the organizer menu window->organizer->devices->RestoreIphone). Btw dunno if you can go straight to mountain lion, as an example you have to pass trough snowleopard to get to lion from leopard.Limitless
Apparently it will not be necessary to upgrade to Lion first and you can go straight from Snow Leopard to Mountain LionCracy
P
3

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.

Porosity answered 16/3, 2012 at 5:37 Comment(0)
C
2

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...

Clinician answered 30/7, 2012 at 13:13 Comment(0)
B
2

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

Bosquet answered 18/10, 2012 at 14:26 Comment(1)
In my case the Symbols alias was already there after I had copied the DeviceSupport/6.0 (10A403) folder from the Xcode 4.5 disk image.Haimes
S
1

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). :)

Schutzstaffel answered 15/3, 2012 at 17:45 Comment(0)
C
1

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.

Complicity answered 20/3, 2012 at 21:2 Comment(0)
S
0

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.

Scolex answered 12/3, 2012 at 11:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.