How to develop applications with Xcode for multiple os version? - xcode

I developed a small application on my mac with osx 10.9. Now I want to share the application with some friends, but not everyone is using osx 10.9. One friend is using for example osx 10.6. How I can make my application compatible? Maybe some of you know some good tutorials for my problem?
Greets!

You can change the deployment target to the lowest OS X version you need to support.
In Xcode, click on your target in the left menu, General > Deployment Info > Deployment target.

Related

My Xcode app won't launch on other Macs

My OS X application that I've created on Xcode won't launch on other Macs. It works perfectly fine and the way it should on my MacBook, where I created it, but on other MacBooks it just bounces on a dock for less than a second and disappears and it won't launch. I built my app on Product - > Archive
How can I make my app to launch on other Macs also? The minimum requirements are 10.7 and when I try my app on 10.6 it says it requires 10.7 or newer, but when I try it on other macs that do run 10.7 or 10.9 it won't launch. What to do?
When you create a Mac application project in Xcode, Xcode sets the deployment target to the version of OS X you're running. The deployment target is the earliest version of OS X that can run the application. When you created your project in Snow Leopard, the deployment target was set to 10.6, which means the application will run on 10.6 and later. When you created your project in Xcode 5.1, the deployment target was set to 10.9, which means the application won't run on earlier versions of OS X. That's why your project runs when you create it in Snow Leopard but not on Xcode 5.1 on Mavericks.
To support earlier versions of OS X, the first thing you must do is set the deployment target to the earliest version of OS X you want to support. If you set the deployment target to 10.7, the project will run on 10.7 and later, assuming you don't use any technologies or function calls introduced in later versions of OS X. For example, if you create a SpriteKit project, it won't run on anything before 10.9 because Apple introduced SpriteKit in 10.9. Xcode will not tell you when you use function calls introduced in later versions of OS X. You are responsible for making sure your code uses only functions available in 10.7.
You should also check the deployment target for your xib files.
To support 10.7, you must turn off base internationalization for your project. Base internationalization works only on 10.8 and later. To support 10.6, you must turn off auto layout for your xib files.
You can access your project settings by selecting the project from the project navigator on the left side of the project window. You can access xib file information by selecting the xib file from the project navigator and opening the file inspector. You can find more detailed information in the following article:
Supporting Earlier Versions of OS X and iOS

What is the lowest OSX version for submitting to the App Store?

I have looked, but I cannot get a version of Application Loader old enough to install on OSX10.5.6 . I would hate to have to buy a mac just to upload my app to the app store. I think I can install xcode 3.1 (downloading now), but I do not see anything about application loader being a part of 3.1? Any suggestions would be helpful
Right now you should already publish app that supports iOS 7...and you need at least XCode 5 for that (which means at least Mac OS X 10.8).
You really need a Mac with recent OS X. I think this policy is not really fair but it is the way it works.

Testing cocoa app targeted for multiple plaforms

I am new to cocoa and os x. I have developed an application that is meant for 10.5 and above. I have got 10.7 os x with me. Is there a way to simulate the testing without having to have real machines ? or atleast find as to at which places I am calling cocoa api which might not be available on any of the supported platforms ?
Thanks,
If you have the access you could install VMWare Fusion and load different versions of OSX into the VM to test the application.
You could also go into your build settings and set OS X Deployment Target to different versions of OS X. This would at least see if your application would build using that versions compiler.

Xcode for mac OS X 10.6.3?

Is there a version of xcode available for mac OS X 10.6.3? I did several searches on google but the only versions that i find is for 10.6.6 and up.
And xcode 3.2.5 is for leopard and not snow leopard.
I want to use it for developing for Iphone and Ipad.
Thanks.
Have you checked here: http://connect.apple.com/
You need to login using your Apple ID. Also, as Analog File mentioned, that version is probably deprecated and you won't be able to submit your app to the App Store if you build one with it.

Xcode built app on 10.6 wont run on 10.5.8

I am new here and new in Xcode world.
I made a simple app with Xcode 3.2 on Snow Leopard.
The resulting built app works on snow leopard, however it will not even start on leopard (10.5.8) - I get message "You cannot use this version of application with this version of Mac OS X". Is it normal?
Or is there a way to make app that will work both on Snow Leopard and Leopard? Please advise, as I have no way to find out myself
Thanks for any input
You need to change the deployment target in your Build Settings. You should set it to the lowest version of OS X that you're willing to provide support for. You should set your base SDK to the latest available public SDK.
If you do this, you must ensure that you only use new 10.6-only APIs after doing runtime checks for their existence. To do this, you can use functions like NSClassFromString and respondsToSelector:.
Any Frameworks or libraries that are new to 10.6 should be weak-linked. This will prevent the app from trying to load those frameworks on 10.5 and thus cause the program to crash when it doesn't find the frameworks.
All explained in the SDK Compatibility Guide from Apple (Requires (free) login).

Resources