How to develop for iphone 3.1.3 without re-downloading the whole SDK - iphone

I have downloaded the latest iphone SDK which support developing for the ipad 3.2 and iphone 3.1.2
However 2 days ago the firmware 3.1.3 has been released by apple so my question is how to make my SDK to support this new firmware without re-downloading the whole SDK which is more than 2 gigs?
Thanks

You can install them to different paths. I recommend installing the 3.1.3 SDK to /Developer and the 3.2 SDK to /Developer (Prerelease). Then, launch whichever version of Xcode you want to use.

Maybe you can simply symlink the 3.1.2 SDK to 3.1.3? I think that was advised in the past when a minor update came out.

Unfortunately, it is the additional tools, not the SDK that take up a large chunk of the 2.5GB+ download size. The official response is there are no SDK only downloads. So you're kind of stuck with the download.
If you're looking to try make 2 SDKs available to you at once, well that's a different question.

Related

iPhone app submission software requirements

I wanted to understand the things involved in iPhone app submission in terms of software requirements (not the steps to submit it on Apple iTunes Connect)
When we download the IOS SDK, is XCode included in that ? If yes, what are the latest versions and approx size of them?
When we develop the app and are ready to submit (say as of today), is it necassary to have a particluar (or rather the latest) version of IOS SDK or XCode installed on our system ?
Are there any specific OS X requirements (I mean if Snow Leopard and above is fine) ?
Everything is detailed on the iOS Dev Center (you may need to log in to have the details):
When you download Xcode (or more precisely the "Developer Tools" package), it includes Xcode and a lot of other tools (Instruments, gcc, gdb, llvm, lldb, the iOS Simulator, ...) and also the latest version of the MacOS and iOS SDKs too.
The version and size are mentionned on the download page too (version of Xcode, of the iOS SDK, of the Mac SDK,... everything). Right now (oct. '11) it is Xcode 4.2, iOS 5.0 SDK and OSX 10.7 SDK. Everything come in one package (1.65Go for the latest version as of today) except the documentation, which is downloaded automatically by Xcode itself (unless disabled) in the background.
For the requirements, it is also described in the iOS Dev Center: Xcode4 is available for both Snow Leopard (on the iOS Dev Center) and Lion (via the Mac AppStore) right now.
When you submit your app, you normally should always submit it using the latest SDK (1). [EDIT after #progrmr comment] except of course for beta versions of the SDK. Alsways submit with the latest "release"/public SDK version]
Note that using the latest SDK does not mean that you need to stop supporting and testing for previous iOS versions. You can use the iOS 5.0 SDK and publish an app that is running on iOS4.x for example (and of course it is better if it still works on iOS5.x too); ascendant compatibility is generally guaranteed, unless specified for specific methods (see the "SDK Compatibility Programming Guide" in the Apple Doc for more info).
(1) It is generally accepted if you submit with the SDK version just before the latest if it is not too old, Apple let you some time to migrate, but this is generally just a transition phase. It is advised and a good practice to migrate to the latest SDK when it is available -- or not too late after that.
XCode 4.2 is about 1.8gb, and that doesn't include documentation - when you first load XCode it tries to download something like 2-2.5gb of docs in the background. You have to both cancel the download and the auto update check to avoid that (but auto updating docs is cool).
I don't recall any requirement to use the latest and greatest, you can still download XCode 3 with iOS SDK 4.3 from the archives. But I can't say for sure, I always run the latest (I find upgrading to new XCode releases is generally a good idea).
XCode is available for Snow Leopard once you buy the $99/yr iOS developer subscription, the mac app store has it but only for Lion. The advantage of the MAS version is you can play with the SDK and making basic apps for free, just not run code on your iOS device.

Updating the iPhone iOS 4.0.1 to 4.0.2 SDK, Do I have to download the whole 2.5 Gigs?

As the the Question asks,
I currently sport xcode 3.2.3 with iOS 4.0.1 but I want to test on my iPhone which is stuck on 4.0.2
Thus I cannot do so until the SDK for 4.0.2 is accessible from xcode.
Where can I download a patch update from 4.0.1 to 4.0.2 because the iPhone members page seems to only link me to the package including xcode 3.2.3 with iOS4.0.2 SDK
I don't want to download the whole thing because it's > 2.5 gigs and my New Zealand internet Connection is shizenhouzen.
I can't restore to a previous version, because for some reason I only have a previous back up of the iPhone on my now defunct windows PC.
I'm afraid you have to download the entire SDK - Apple do not provide 'patches' (4.0.1 to 4.02, for example) AFAIK, and I'd be nervous about downloading anything that claims it is a patch.
It's a common grumble, twitter is a fun place when apple push these .1 SDK updates out :)
You do have to download the whole thing to upgrade. It really sucks. :-(
I wish I could remember to download the SDK before upgrading my devices.
You can still build adhoc releases of your app and install them using itunes if you're in a real bind - it's just the debugger, console viewing and automatic installation of builds that won't work at all.

Simulate iPhone 3.0 with SDK 4.0

i have xcode 3.1.3 and xcode 3.2.1 installed
For sure now I use 3.2.1 with Sdk 4 to develop new apps.
But what if I like to test a App compiled with sdk 4 on a
simulated iphone that would just have 3.0??
As BaseSDk i use 4.0 and as target 3.0
In xcode 3.1.3 i could select a simulator down to 2.x but with sdk 4.0
i only have the option 4.0 iphone or 3.2 ipad
Example> i know iAd is not supported before 4.0 so I set the
framework to weak. But just to be sure all works fine I really
would like to test my app in a simulator that simulates an iphone with 3.0
thx
chris
The new simulator does not seem to be able to run the old simulator OSs (3.2 being the oldest it'll run). I tried moving them over from old SDK installs and several variations and "no go".
You can check that you aren't using methods defined in the new SDK, when you set the base SDK to 4.0 but set the Deployment to to 3.1.3, for example. For a blog post on how to do this see this blog post, and note my comment on an easier way to do the last two steps (no need to edit the project file as a text file).
inside the iphone sdk dmg file, there should be a folder called packages. in it, you'll find packages like iPhoneSDK3_0 and iPhoneSimulator3_0. Install them to be able to use them in xcode.
Correct me if I'm wrong, but I think a device with 3.0 installed can't even run apps compiled with 3.2 or 4.0. Furthermore, Apple now only accepts iPhone apps (including updates of existing apps) linked against the 4.0 libraries, which won't run on OS version 3.0 devices.
So why do you want to test your app on a 3.0 device?
Try setting the architecture you want to build for in the Xcode project preferences and rebuilding.
If this doesn't work, completely uninstall Xcode and downgrade. You have to completely uninstall because your system must have updated the frameworks for 4.0.
Hope this helps

install iphone sdks side by side

Im trying to get my xCode to contain all iPhone sdk's from 4 back to 2. But when I download the DMG files, it seems to only allow me to have an xCode with SDK versions 2 - 3.1 OR 3.2 - 4, not all together.
How can I install the SDK's into one xCode so I can build for all different OS versions?
Thanks
EDIT::
Ok so I know I can set the base SDK in xcode, but the options I have are only 3.2 or 4.0, I cant seem to install the 3.1 or earlier SDK's how can this be done?
Final Edit::
Ok got it solved, basically you only need to have an older version of xcode installed to get earlier simulators running, otherwise the articles given to me in my answers as well as others were very helpful:
http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/
Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs
How To Make iPhone App compatible with multiple SDK (firmware) versions
http://cocoawithlove.com/2010/07/tips-tricks-for-conditional-ios3-ios32.html (possibly the best one)
Is there any particular reason you need to do this? Are you trying to develop applications that will run on iOS 4.x and older versions (3.x)? You can still develop applications which will run on iOS 3.1.x with the iOS 4.x sdk.
Take a look at the following article: http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/
I tried the same thing some time ago, and it seems some minor SDK versions are automatically removed during the install process...
You may tried to copy them before installing the other XCode versions, and re-install them just after.
They are located in /Library/Platforms/iPhoneOS.platform/Developer/SDKs/ and /Library/Platforms/iPhoneSimulator.platform/Developer/SDKs/.
Note that you can also choose to install each XCode version in a separate directory.
You will lose a lot of hard disk space, and you'll have multiple versions of XCode, each one with different SDK versions.

How can I download older version of iPhone SDK?

I've just installed iPhone SDK 4.0 and it appears that the previous version of SDK has vanished from my system.
I was looking for any links to download the previous version of iPhone SDK to download, but I cannot find anything.
Any ideas where I could download it?
Any new submission or update to appstore must be on IOS 4. The older IPhone sdk's are no more available for download at http://developer.apple.com/. If you think that you still need old version (for example: to run some old example), then try searching for xcode in the torrent sites. You can find there almost any version (at own risk!)