iPhone SDK 3.0 Targetting 2.2.1 SDK - iphone

Just got the latest beta for iPhone SDK up. This is the update for the upcoming 3.0 release of the iPhone SDK. Unfortunately, I'm not getting a bunch of errors for targetting the 3.0 platform. This is nice to know for me to mark future work, but I need to get some other stuff done first. Unfortunately, the "target" field no longer shows me the 2.2.1 SDK, and defaults to 3.0, resulting in a myriad of errors that I'd like to fix later.
What actions should I follow to fix this? I've already tried changing the default base SDK in the properties for the project to no avail. Does installing 3.0 basically remove the 2.2.1 SDK?
Thanks in advance.

Figured it out. The error I was getting occurs for a beta build so this probably shouldn't be a persistent solution, but if anyone else is having trouble with trying to use the latest beta of XCode+iPhone0S3 installation, you will find that you can only target the 3.0 OS after you select it in the Overview dropdown. Even if you were targetting a different active SDK previously, they will all be gone as soon as you select the 3.0 target.
The way to fix this problem is to just delete all the user-specific project files and to reopen the project. Before that, make sure the base SDK is 2.2.1, etc.
This is a lot easier than downloading the 2GB stable XCode just to target the previous SDK.
Hope this helps someone.

Related

how to update ios?

i have
xcode=3.2.5
ios=4.2
NOW
i want to update only ios to 4.3
i don't want to update xcode,
how to do so?
Thanks,
Shyam
Recent versions of Xcode will work with devices that have newer version of iOS. When you plug it in afterwards it will volunteer to download the symbols; it should "just work" after that. (I say "recent versions" since I'm not sure exactly which version was the first to do that.)
Having said that, I'm not sure that's a good idea for anything other than a point update (i.e., 4.3.1 to 4.3.2). What's your objection to updating Xcode? The download link for Xcode 3 is still present if you'd rather not move to version 4 just yet.
As Jim said, you can't only update the iOS SDK version.
You can, however, install the latest Xcode in another directory and copy over the SDK to your older developer installation.
EDIT: Actually, it depends whether or not you don't want to update at all, or just to Xcode 4. The current available version of Xcode 3 includes the latest iOS SDK, 4.3, so you could update to that. Older Xcode versions will probably be phased out eventually, though.
You can't, as far as I know. Apple couples the IDE and the SDK. You can't download one without the other.
Edit: someone may know a way involving copying files from one later XCode installation to an older one, that seems feasible.

where can i download iphone sdk 3.x with xcode

I was wondering if there is a place where i could get the earlier version (archives etc) for iphone SDK.There are certain times when one needs to play with the 3.x SDK.Can anyone please guide me for this.Thanks
download latest sdk. set deploy target to 3.0 and don't use new features that added after 3.0 so it should runs well on your 3.0 devices.
It doesn't look like Apple provides the old tools. I archive all of the developer tools as they are released.

Updating iPhone application from 3.0 to iOS4

I was just wondering if anyone knows of any articles relating to upgrading an iPhone application from 3.0 to iOS4. (Thanks for this iWasRobbed).
While the application still runs on iOS4, it will not run on the iPhone 4, but does on my iPhone 3G.
When I deploy the app on the iPhone 4, the Default screen loads and it will sit there hanging. The only inclination towards a problem I get is this warning:
warning: UUID mismatch detected with the loaded library - on disk is:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/UIKit.framework/UIKit
warning: UUID mismatch detected with the loaded library - on disk is:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/PrivateFrameworks/DataAccessExpress.framework/DataAccessExpress
Thanks
James
James,
Apple has provided this checklist: http://developer.apple.com/iphone/checklist/
It generally should not be that big of an issue. Typically, you just set the baseline SDK as 4.0 and the deployment target as either 4.0 or something 3.0+.
If it is not running on an iPhone 4, you may wish to explain further what specifically it is doing or not doing when you attempt to run it on that device. Keep in mind that all apps (for the most part) that were designed to run on 3.0 and above will typically run well on an iPhone 4.
There might be some issues with deprecated methods, so make sure you resolve those prior to installing and running the app. You should get a compiler warning for any of those, if not check your target settings and there should be a checkbox for it.
Other than that, I'm not sure what else would prevent you without understanding further details of your project.
As additional information, you should really look into the WWDC 2010 video called "Future Proofing Your Applications" (watching it now :)
That is most likely a mismatch between what iOS your iPhone 4 is running and what SDK you're using in Xcode. The UUIDs are mismatched because the iPhone 4 is using a different version SDK to what you've coded in.
Solution, install the latest SDK and make sure your iPhone matches this. The latest out is 4.1
I had the same problem and think I have solved it because the problem has gone away.
Firstly I deleted the build folder. Then I Installed the latest version of ios (4.1 in this case) onto my iphone through itunes. Afterwards i installed the latest xcode and iphone sdk package from the apple devlopers site.
This in itself probably fixed the problem but just to be sure I added a new provisioning profile for the phone on my computer and everything worked great afterwards.
Hope that helps

Developing for 2.2.1 SDK on Snow Leopard

I’ve installed Snow Leopard, have Xcode 3.2 and 3.0 iPhone SDK. I want my applications to run on 2.2.1, but the SDK is nowhere to be found in Xcode. I’ve set the deploy target to 2.2.1, but still I cannot be sure I am not using any 3.0-isms. (I’ve sent a sample application to my friend who still has 2.2.1 and it does not run, so it looks I really do use some 3.0 specific API.) How can make sure that my applications will run on 2.2.1? (Simulator also lists only 3.0 as version option.) I’d hate to check my sources manually for every call that might not have existed in 2.2.1.
See my question.
However, I think this is a bad situation that Apple has created for us. There really is no way to test against 2.x.x, if you, like me, have no iPhone 2.2s to test against. I actually bought a new 3Gs just so I could use the old 3G for testing. Stupidly though, when iTunes came up one day and asked if I wanted my phone updated to 3.0.1, I said yes, without realizing which phone I was updating.
I have tried, to no avail, to downgrade to 2.2.1, doing all the things like holding the home button and power for 10 seconds, etc., but I keep getting a baseband loading error.
I know Apple is trying hard to push everyone to 3.0, but not having the stats on how many users are still on the older OS, it seems prudent to keep supporting that OS. They should at least have kept 2.2.x support for the Simulator. I hate to release a 2.2.1 app based on whether I think I am using 3.0 calls or not, without actually testing it on 2.2.1.
OK, SDK 3.1 was released yesterday (September 9) and also contains SDK 2.2.1. You cannot build for the Simulator, only for the device, but most of the glaring 3.0-isms will appear as compile errors, which makes testing much easier.
Uninstall the SDK or Developer folder completley.
using Terminal execute: /Library/uninstall-devtools --mode=all, then restart, re-install new SDK.

Upgrading iphone sdk to 3.0?

This is the first time that I'm upgrading the iphone sdk and am wondering if there is anything else needed to use the upgraded version with xcode besides just installing it?
I just installed the updated package and it indicated what would be upgraded, let it finish and then opened my projects and went on. In your projects you will have to make sure you are targeting the 3.0 OS though. And make sure your device is up to date as well(if using hardware for testing)
Nope, just install it, make sure you have 3.0 on your iphone or ipod touch tho :), this is for most cases anyway, here is a doc that might help you tho http://adcdownload.apple.com/iphone/iphone_sdk_3.0__final/iphone_os_3.0_sdk_readme.pdf