Build app so it can run on different versions of OS X - xcode

I have an app that needs to be run on MAC OS X 10.5,10.6,10.7
I'm using XCode 4.02 and iOS SDK 4.3. My build settings are 10.6 MAC OS X, and Deployment target is 10.5.
Is this the right way to do it, or I should use the Mac OS X 10.5 SDK? I can't find it, I have only 10.6.
Right now my application runs on 10.5, but not properly.

If you are a serious apple developer, you should upgrade to Lion. You should also be using the latest SDK, OSX 10.7 that comes bundled with the latest version of XCode 4.2.X (It's free from the MAC APP Store). If you need to have your app run on previous versions of OSX, the correct way to do this is to set the "Deployment Target" (found in the build settings) to 10.5.
XCode/SDK updates are just like any other software update, they contain bug fixes and more importantly security patches, so you should ALWAYS be using the latest versions.

Related

How to choose Xcode version, SDK and toolchain to develop for Mac OS X?

Recently I installed mac OS Mojave. Now I starts my way with Xcode. So I have an application for which I use Qt5.5.1, this version was build with deployment 10.7 and sdk 10.10. Also I have another Objective-C application which was build with deployment 10.7 and sdk 10.11. I need to build both apps for minimum Mac OS X 10.7 version with any later versions supported. It is situation. Now questions:
There is a any difference which Xcode use to build?
Which version Xcode is optimal as IDE? AppStore has very negative rating for latest.
There is a any difference which toolchain use? Or I always should use one provided with Xcode?
Should I use the same SDK as SDK used in base library? Or it is free to use latest?
It is ok to use foreign SDK not provided with installed Xcode version?
Now I can build the both applications with latest Xcode and SDK 10.11. Seems no any problem. But I want to be sure that will no any problems to run and use on 10.7. And want to know correct way to decide which Xcode/SDK and when should to use?
P.S. Applications for PC only, no need any iOS support.
You should use the most recent version of Xcode that will run on your Mac and the SDK that ships with that version. Currently the most recent version of Xcode is 10.1, which ships with the macOS 10.14 SDK. By using the 10.14 SDK your app can take advantage of the features introduced in macOS 10.14, such as dark mode. If you build your app with the 10.11 SDK, your app won't be able to take advantage of anything Apple added in 10.12, 10.13, and 10.14. For one thing your app won't look good in dark mode on 10.14.
To support 10.7 in your app, you must set the deployment target for your project to 10.7. The deployment target is the earliest OS version your app supports. You also have to make sure your app doesn't use any technologies or call any functions that were added after 10.7. That means no storyboards, no Swift, and no base internationalization for localizing your app to other spoken languages. Making sure your app uses only things that are available in macOS 10.7 is not easy. That is why many apps support only the most recent version of macOS and 1-2 previous versions.

Can you build 10.7 applications with xcode 3?

Can you build Mac SDK 10.7 applications without having Mac SDK 10.7? Such as with an old Xcode?
Or do you need a new one? And what's the earliest 10.7 SDK was included in Xcode?
You can build applications that run on 10.7, but in order to use 10.7 specific API calls you need to build with Xcode on 10.7 or later.
The earliest Xcode that included the 10.7 SDK was Xcode 4.2 for Lion. Note that the Snow Leopard version of Xcode 4.2 does not include the 10.7 SDK.
You can Drag and Drop older SDKs into newer versions of Xcode and usually get them to work, you can't go the other way.
No you can't. In order to build apps for 10.7 you need the 10.7 library, which is only available in Xcode 4

Can I develop apps for Lion on a Snow Leopard machine?

Currently I am developing a Mac OS X app with XCode 3.2.5 on Mac OS X 10.6.8, the target is Release i-386. Will my app run normally on Lion?
Do I need to use XCode 4.0+?
Thanks
Every app built under the 10.6 SDK should, theoretically, work just as well under 10.7.
And you can use Xcode 3.X too, if you want. But yes, I'd recommend using the latest and greatest versions of Xcode (version 4) for development.

Install Mac OS X SDK 10.5 on Snow Leopard

Is there an easy way to install / download the Mac OS X 10.5 SDK on Snow Leopard?
I have Xcode 4.0 installed via the Mac App Store. I can also download it from the developer site if necessary but I don't know if it includes the 10.5 SDK.
I need the 10.5 SDK for building Android. It is a hard requirement stated in the docs. I tried symlinking to the 10.6 SDK but that didn't work.
(Perhaps it would be OK to get the SDK from an older Mac that is actually running 10.5 and has an older version of Xcode installed? Would that work?)
The 10.5 sdk is not available for XCode 4.0. You will need to keep XCode 3.2.6 if you need it.
There is a solution to install the Mac OS X SDK 10.5 on Snow Leopard shown here:
How to add base SDK for 10.5 in xCode 4
Basically, you can run the MacOSX10.5.pkg from an Xcode 3 installer and install the SDK into an Xcode 4 install.

Xcode4 with Mac OS X 10.4 SDK

In the latest iteration of Xcode, Xcode 4.0, the 10.4 SDK is no longer included. However, I still need to support 10.4 and PowerPC builds.
I have installed latest Xcode 3.2.6 which still includes 10.4 support. Then I installed Xcode4. Has anyone found a simple way to "cheat" and get Xcode4 to use 3.2.6's SDKs?
Yes, I did :) See here.
XCode 4.0 supports deploying to Mac OS X 10.4 right out of the box, so you shouldn't have to do anything special.
For example, I created a project then selected the project and right there, there is a field called "Deployment Target" where you can select 10.4, 10.5 or 10.6. QED

Resources