Strange issue after upgrading to iOS 4.1 SDK

ios, iphone

Solution

This is a known bug with the iOS 4.1 SDK and building using LLVM for the iPhone Simulator. You can read all about it in this thread on Apple's Developer Forums.

The recommended solution is to add the following to `Other C Flags` in your project's build settings: `-D__IPHONE_OS_VERSION_MIN_REQUIRED=040100` where you replace 040100 with your deployment target version (030000 for 3.0, for example).

Problem

I've upgraded the iOS SDK to the newly released 4.1 and now I have the following error while building my app: ``` /DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23 /DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23: error: expected function body after function declarator ``` Looking at that line in the .h file I see the following: ``` CG_EXTERN void CGPDFContextAddDocumentMetadata(CGContextRef context, CFDataRef metadata) CG_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0); ``` The really interesting thing is the define __MAC_10_7 which appears not to be defined anywhere. I get this error when pre-compiling the .pch file of my app. What's curious is that a simple hello world app compiles. Any idea what can I do? Thanks in advance! Stelian

Original source