Cocoa 使用NSRegularExpression的OSX 10.6雪豹上的RestKit部署问题

Cocoa 使用NSRegularExpression的OSX 10.6雪豹上的RestKit部署问题,cocoa,restkit,nsregularexpression,Cocoa,Restkit,Nsregularexpression,我遇到了这个问题,我的基于RestKit(master)的应用程序无法在OSX 10.6上运行。我经常会遇到这样的错误: Dyld Error Message: Symbol not found: _OBJC_CLASS_$_NSRegularExpression Referenced from: something/something/../Frameworks/RestKit.framework/Versions/A/RestKit Expected in: /System/Library/

我遇到了这个问题,我的基于RestKit(master)的应用程序无法在OSX 10.6上运行。我经常会遇到这样的错误:

Dyld Error Message:
Symbol not found: _OBJC_CLASS_$_NSRegularExpression
Referenced from: something/something/../Frameworks/RestKit.framework/Versions/A/RestKit
Expected in: /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
in /Users/something/something    Client.app/Contents/MacOS/../Frameworks/RestKit.framework/Versions/A/RestKit
我的开发环境是10.8上的Xcode 4.4,基本SDK设置为10.8,部署目标为10.6。我查看了Restkit,其中引用了NSRegularExpression(仅在10.7或更高版本上提供),它都使用版本检查包装,如:

#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 || __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000
#endif
我认为这应该解决版本问题?但结果是我的应用程序只能在10.7或更高版本上运行,而不能在10.6版本上运行

我下载了Xcode 4.3.3,并将10.6 sdk复制到我当前的Xcode中。我试图将基本SDK的发布目标设置为10.6,但也没有帮助


有人能解释一下吗?谢谢..

NSRegularExpression是

嗯,我没有找到解决这个问题的方法__MAC_OS_X_VERSION_MAX_只允许检查基本SDK,因此在我的情况下,它始终使用NSRegularExpression,尽管我的部署目标设置为10.6

最后,我对if语句进行了一些更改,使其始终跳过NSRegularExpression调用

你可以做类似的事情来绕过它:

#if __MAC_OS_X_VERSION_MAX_ALLOWED < -1 || __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000
#endif
#如果uuuMac_OS_X_X_X_X_X_X_X_X_X_X_X_X_X_X允许<-1 | 124; uuu IPHONE_uuuOS_X_X_X_X_X允许>=40000
#恩迪夫