I want to know when was Quartz 2.4.0-SNAPSHOT version released.
This will give me a fair idea when a stable version will get released.
Related
Trying to keep up with the curve. I'm reading almost too much and is sending me in a tail spin. Is there a one stop link which will tell me what my target should be to run my app on all platforms based on what frameworks I have included? I make heavy use of Mapkit, and want to include iAds. My current apps seem dead on 3G.
Does Apple force you to support only the latest iOS? I have no problem with that, but not sure if someone who has and ancient 3G, how do I tell them, NO I don't support your phone, please upgrade?
Set your project's base SDK to the latest version of the SDK. Set the deployment target to the oldest version of the OS that you plan to support. You can use features introduced in versions later than your deployment target, but you'll need to check for them before you use them, else your app will crash.
Read the release notes for each version of the OS to get a good idea of what features were introduced when. In fact, make it a habit to read the release notes thoroughly each time a new version comes out.
iOS 4.2 runs pretty well on an iPhone 3G, so there's no need to drop support for the 3G anytime soon. If your apps currently don't work on the 3G, fire up your debugger and figure out why. What version of iOS are you running on that device? Where does it crash? This is typical debugging stuff.
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.
I'm wondering if I will have compatibility issues with OS4.0 if my app is built with the 4.1 SDK, or is this a non-issue?
The short answer to your question is: Use a Base SDK Version of at least 4.0 for your application and a Deployment Target Version of exactly 4.0.
I've downvoted both answers because they are wrong or at least incomplete.
When building applications there are two settings that you should be aware of:
There is the Base SDK Version which defines against which version of the SDK your application will be compiled.
There is also the Deployment Target Version which defines the lowest version of the iOS that your application requires. You can set this to as low as 2.2.1 in Xcode but the App Store will not accept versions lower then 3.1.3 at the moment.
The Base SDK Version can be higher then the Deployment Target Version. This simply means that your application is backward compatible with older version of the iOS. This also means that your app needs to make decisions at runtime to be sure not to use newer functionality when running on an older version.
For example, the MFMessageComposeViewController was introduced in 4.0 so if your app has been configured to also run on 3.1.3 then you should use NSClassFromString() to find if that specific class is actually available before you use it.
There are many questions here on Stack Overflow on how to discover available functionality so I will not repeat those techniques here.
And a somewhat important note:
Behaviour does change across OS releases. There were a pile of changes in 3.0 (we had issues with UITableView/UITableViewCell):
Some changes happened on old apps (e.g. compiled for 2.2.1). I forget what these were.
Some of them were in the toolchain (I think they changed how nibs were compiled with ibtool; it was something like setting both an image and a custom view for a UITableViewCell). This happened when we upgraded the SDK on the build server, even if we didn't touch "Base SDK"
Some of them happen only when you compiled with a Base SDK of 3.0 (UIKit automagically detects which version you've linked against and has backwards-compatability modes for some things)
Additionally, there were some runtime/C++ changes in GCC 4.2, which meant a GCC 4.2 app running on OS 2.2.1 crashed when casting unsigned int/long to float/double or using std::ostringstream. I've since added a check for GCC version.
So no, compiling with a newer SDK can result in issues — you might not want to risk it if there are time constraints (you don't have time to implement multitasking support, or you don't have time to do a complete re-test and fix all the bugs, or so). Or maybe you still want to support 2.2.1 for some strange reason (4.0 dropped 2.x "device support", which effectively made it impossible to debug apps on 2.x devices).
Usually nothing breaks across minor OS releases (discounting 3.1/3.2). I'd recommend upgrading SDKs as soon as you have the time; don't shy away from new features just because old OSes don't have them.
Depending on the APIs you will be using. Let's say you want to implemented in-app texting (MFMessageComposeViewController) and want ALL of your end-users (will be defined as EUs) to access that feature then you'll have to compile against iOS 4.0. But let's say you want the in-app texting to be optional and a "plus" for your EUs, you'll just compile your app against iOS 3.0 (let's say).
Hope I answered your question :-)
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.
I have released an app with the 2.2.1 SDK, to realize that I'm pointlessly losing a big percentage of customers still on firmware 2.2 (See this article: http://arstechnica.com/apple/news/2009/03/app-store-lessons-firmware-followup.ars) So I'm thinking of updating the app to the previous SDK, 2.2.
I was wondering if anyone has run into any problem doing this? Is this safe for customers who have already installed the previous version, to install my "downgrading" update?
The rule of thumb is to build and test your app for the lowest version SDK you can (based on features required).
I have changed an app store app from 2.2.1 to 2.2, and I did not encounter any problems when switching.
I know of no reason this would be a problem. Especially with 2.2.1 to 2.2—it was really a very minor bugfix release.
Iphone os version 2.2.1 introduced no new APIs so you should have no problem to downgrading it to 2.2.
In terms of the other SDK versions (i.e 2.0 and 2.1) apple introduced new/updated APIs. If your app takes advantage of these new/updated APIs you should compile it against the lowest version of the iPhone OS that will successfully run your program.
Compiling against the lowest version possible of the iPhone OS will ensure that your app will be able to be run by the max number of people possible.