How can I develop production iPhone apps and iPad apps on the same machine? - iphone

It seems that in the future, we can just use the non-beta iPhone SDK to develop for both at once.
But for now, the only way to develop for iPad seems to be to use the SDK 3.2 beta. However, if I install that, Apple clearly states I should not submit apps to the app store with it.
I'm an independent, one-machine developer. Is there a way I can continue to upgrade my existing iPhone apps while still developing for iPad?

The Best way to do this is to install the 3.2 SDK beta in a location other than '/Developer'. On the 'Custom Install on Macintosh HD', select 'Other' from the Popup button, and point the installation to somewhere like: '/Developer-Beta'.
You can then run Xcode from /Developer/Applications for your iPhone apps, and Xcode from /Developer-Beta/Applications for your iPad apps.

If I'm reading the agreement correctly, the ban on submitting apps with the 3.2 beta applies only to the SDK, not the tools. If you set your app's base SDK to an SDK earlier than 3.2 (which it probably already is anyway), you can then build with the 3.1 and earlier SDKs by selecting them from the "Overview" menu in Xcode.
I've submitted updates to my iPhone apps built with the 3.0 SDK by the 3.2 beta tools, and they were accepted with no issue. As long as you aren't building on the actual new SDK, you should be fine.
EDIT: I don't work for Apple, I am not a lawyer, blah-blah. But it's worked for me, and the warning only specifies the "iPhone SDK 3.2". The Xcode tools aren't mentioned.

If you install 3.2 the Active SDK menu looks like
Xcode http://img.skitch.com/20100310-xkbqnbr6h4f2q55wk2wppjx3h2.preview.jpg
However, under Project settings you can change the SDK as follows:
Xcode http://img.skitch.com/20100310-xqkuracw73jb5y7uwtt7yurjs1.preview.jpg
So you can developed for any OS version using the same machine, etc.

Related

New Xcode 3.2.6 only for iPhone 4?

I am wondering if using Xcode 3.2.6 will create apps that will work with all iphones,
should I use an older version ? Sorry I am green at this
You can use both Xcode 3.x and 4.x to develop applications for both Mac OS X and all of the iOS devices. You can simply select a target iOS version within your project, although you're still responsible for ensuring that you don't use iOS calls that aren't available in that version. (instancesRespondToSelector: is your friend, etc.)
However, I'd be tempted to use the latest version (4.0.1 as of the time of writing), which is available from https://developer.apple.com/xcode/ (a developer account login will be required), if only because Xcode 4 has the Interface Builder built in, has Git support out of the box, etc.

Xcode version and iPhone app submission

I am new to iPhone app development. I have an app created in XCode 3.1.3 and need to do 2 things;
1. Test it on my iPod touch (Latest OS: 4.1)
2. Submit it to the app store.
My question is, can I do both these things given that I have XCode 3.1.3 OR do I have to upgrade?
Also in case I need to upgrade, is it possible to download XCode separately (I mean without the huge 3GB SDK)
You must have the latest version to develop iOS 4.1 apps (as required by Apple for App Store submission.) As well, you must pay $99 per year for a developer account in order to gain access to on-device testing and to actually make submissions to Apple.
You need to download the whole XCode + SDK installer dmg to develop for iOS 4.1. You can not download, or update them separately. You can not submit to the App store using an SDK older than 3.0. And you should use a recent XCode/SDK combo (as in the current 4.1 release) to submit to the App store.

compiling iphone 3.1.3 with XCode 3.2.3?

I just downloaded XCode 3.2.3 with iphone sdk 4, but I need to compile my app with 3.1.3, but there is no option in the project settings for that (just 4.0 or 3.2). Is there any other possibility for me besides downgrading to XCode 3.2.2??
In the Deployment section of the Build settings, there is an option to set iPhone OS Deployment Target. You can choose 3.1.3 from the list of available OS versions.
Yes, you may choose any iPhone OS
Deployment target from the list. But
make sure that you are not using any
iPhone SDK 4.0 specific
methods/properties.
That is the catch, isn't it... is there an easy way to check that we're not doing any iOS4 SDK calls if we cant trap it during a compile?
I found this (see the bottom of the page):
http://0xced.blogspot.com/2010/07/using-sdk-313-with-iphone-sdk-4.html
Unfortunately, it requires the following on the first step:
"Locate iPhoneOS3.1.3.sdk and iPhoneSimulator3.1.3.sdk from an iPhone SDK 3 installation"
And, of course I blew away my iPhone SDK 3 installation when I installed the iOS 4 SDK. So I'm kinda stuck.
Is there another alternative?
Thanks!
Yes, you may choose any iPhone OS Deployment target from the list. But make sure that you are not using any iPhone SDK 4.0 specific methods/properties.
I strongly recommend you read this. SDKs other than 3.2 and 4.0 are no longer available for App Store submission.

How can I test my iPhone app on earlier than SDK 3.0 simulator, make sure it work?

I wrote iPhone application. Very simple! It use Cocos2D only, and all other features is very basic, no accelerometer, no camera, nothing. Just buttons and sounds.
I think every iPhone can run this app (there is no limits on Cocos2D right?), but my XCode only let me use 3.0 and upwards. I want to confirm 1 thing and ask one thing:
If I put "iPhone OS 2.0" in my iPhone OS Deployment Target in XCode, but my "Active SDK" in XCode still says 3.0, if I compile using this and submit to App Store, when it goes up, people who use 2.0 can still download and use the game yes?
Is there way I can test in a 2.0 simulator to make sure it works? My XCode only have 3.0 and higher simulation.
Set your Deployment Target for iPhone OS 2.0 and Base SDK for whatever version of the SDK you have (3.0, 3.1.2, 3.1.3, 3.2, etc.). Active SDK is just a compile-time override of the Base SDK. You should set your Base SDK to the latest STABLE version of the SDK and the Deployment to the oldest device you intend to support.
If you open up the iPhone Simulator and select from the menu bar Hardware > Version, you should see an option for SDK version 2.x. If you don't see this, you don't have any 2.0 SDK versions installed. 2.2.1 was included up to version 3.1.3, but you might not see it in the Simulator. You'll have to find an older version of the SDK to install. They can be found online by Googling. Don't have a link off-hand, but shouldn't be hard.
Edit
This is out-of-date for the newest version of Xcode (currently 3.2.5).

iPhone SDK 3.2 beta and iPhone SDK 3.1.2

Currently I am using iPhone SDK 3.1.2 for developing iPhone apps.
Apple has recently released iPhone SDK 3.2 beta and I want to try my hands with it.
But my problem is that I want to use both versions of SDKs, 3.1.2 since I am currently developing apps and uploading on app store, 3.2 beta to start trying the new version (but Apple will not accept apps on App Store, if developed using 3.2 beta)
Please guide me.
Regards,
Pratik
You can still build your old app under 3.1.2 while 3.2 beta is installed. To do it, simply hold down the option key while clicking the top left dropdown menu in XCode. This will list all of your installed SDK's and you simply choose 3.1.2