For example:
class NSNotificationCenter
method deaultCenter
xcode 8.0
OS 10.12
availability macOS (10.12 and later)
BUT
xcode 5.1.1
OS 10.8
availability OS X v10.0 and later
Why? Can I use "deaultCenter" in OS 10.8? And how can I know that some methods have the real "macOS (10.12 and later)" (crash in early OS version) availability?
The current online copy of the defaultCenter documentation correctly says 10.0+. If Xcode 8 is not agreeing then it's a documentation bug. You can file a report at bugreport.apple.com
Related
I am using Xcode 5.1 and want to compile my app against Base SDK 10.7. However I just see SDK 10.8 and 10.9.
Where can I find the 10.7 base SDK ? I use
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
command to check sdk version at compilation time. Thanks.
https://download.developer.apple.com/Developer_Tools/xcode_4.3.3_for_lion/xcode_4.3.3_for_lion.dmg
You'll need an Apple login to download the file, but you don't need a paid App Store developer account.
Mount the image, right-click Xcode.app, then Show Package Contents. You will find MacOSX10.7.sdk in Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs.
Read the "Compatibility" section in the following link:
https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/00-Introduction/Introduction.html
Xcode 5.1.1 requires a Mac running OS X v10.8.4 (or later), or OS X
v10.9. It includes SDKs for OS X v10.8, OS X v10.9, and iOS v7.1. To
develop apps targeting prior versions of OS X or iOS, see “About SDKs
and the iOS Simulator.”
Also with release of new OS's and SDK's, Apple deprecate the old deployment targets, and restrict us to submit using new Xcode version only. In such a case you cannot go back to 10.7.
I understand that sandbox was introduced in Mac OS X Lion (10.7) but temporary exception entitlements, specifically com.apple.security.temporary-exception.files.home-relative-path.read-write, were introduced in a later 10.7.x update. Which 10.7.x update?
its 10.7.2
Check in this blog link
I'm trying to build Textual IRC Client from source.
It worked for me in April, using the latest source and the latest XCode at that time, on the same OS X 10.7 computer. Now it does not work.
Example error messages
Expected method to read array element not found on object of type 'NSArray *'
Expected method to read dictionary element not found on object of type 'NSDictionary *'
Expected method to write dictionary element not found on object of type 'NSMutableDictionary *'
I have turned off code signing in the build settings for all projects and targets (by setting Code Signing Identity to Don't Code Sign), otherwise the source is clean.
The errors are because of new features introduced in the Mac OS X 10.8 SDK. Many of them are still backwards compatible to Mac OS X Snow Leopard 10.6 though.
Textual's Base SDK build setting is set to Current OS X. Assuming that the other developers are on Mac OS X Mountain Lion 10.8, they will automatically use the (currently newest) 10.8 SDK. Even if the 10.8 SDK is installed on a 10.7 machine, the compiler will choose the 10.7 SDK because of this OS-dependent setting.
The fix: in Textual's build settings, change Base SDK to OS X 10.8 or Latest OS X (OS X 10.8) to be able to use the new features.
Change the settings for all projects and confirm that the setting has been applied to their respective targets: Main Project (Textual), Blowfish Encryption Framework, Hyperlink Processor Framework, Blowfish Key Control Extension, Brag Spam Extension and finally System Profiler Extension. Building Textual (Standard Release) should now work.
Related commit: Conversion to modern Objective-C introducing 10.8 SDK features.
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.
Before you ask, yes, I have a very good reason for wanting something to run on 10.3. It's a very small in-house project that must run on a very important person's machine, which cannot be upgraded for a very good reason. =)
The 10.6 DVD doesn't seem to offer an option to install the 10.3 SDK, only 10.4+. I also can't seem to find it on Apples website.
I found this tip about how to install it on 10.5, via the Xcode optional installs, but that doesn't seem to be the case for 10.6?
http://www.cocoabuilder.com/archive/cocoa/201508-10-3-9-sdk-with-xcode-2-5-on-leopard.html
Is it incompatible, or just not offered because it's so old? Must I use an earlier version of Xcode? Can I just try to install it via a <10.6 DVD?
You don't need the Mac OS X 10.3 SDK to build for Mac OS X 10.3. Just install the optional Mac OS X 10.4 (Universal) SDK, then:
Set your Base SDK to the Mac OS X 10.4 (Universal) SDK
Set your Compiler Version to GCC 4.0
Set your Mac OS X Deployment Target to Mac OS X 10.3 for the PowerPC architecture (using build setting conditions)
Carefully avoid any API that isn't on Mac OS X 10.3
This should be sufficient for building a Mac OS X application that will run on Mac OS X 10.3.9, even on Snow Leopard.
The 10.3.9 version number is important; if you're using any C++ in this application, Mac OS X 10.3.9 is the first version (and the only version of 10.3) that includes the Standard C++ Library in shared library form, which is required for using GCC 4.0 or later. Otherwise you'd have to use GCC 3.3, which is neither included nor supported with Xcode 3.2 on Snow Leopard.
On the other hand, C and Objective-C code may even run on earlier releases of Mac OS X 10.3. I can't think of a reason it wouldn't, but I haven't tried it myself. Even people sticking with a 6-year-old version of Mac OS X will use the most recent version of it, right?
If the 10.3 system is running 10.3.9, you may be able to use the optional 10.4u SDK for your build on 10.6 by setting the deployment target to 10.3 and sticking to gcc-4.0, rather than gcc-4.2, the 10.6 default. The python.org installers for OS X are intended to be built that way, that is, one executable that works on 10.3.9 through 10.6 (although, at the moment, there are still a few problems with building all variants on 10.6 so 10.5 is still used). Also the python builds are primarily using Carbon frameworks rather than Cocoa and they do not use Xcode to manage the building of the product. If you can't get Xcode to do it directly, you might be able to build from the command line.
export MACOSX_DEPLOYMENT_TARGET=10.3
/usr/bin/gcc-4.0 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc ...
It may be that the 10.3 SDK isn’t supported on 10.6 because 10.6 is intel-only. Also, 10.3 doesn’t support intel. Remember that 10.4 was the first OS to support intel, which is why that’d be the earliest OS supported on 10.6. However, I could be wrong.