Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同iOS SDK下编译iphone应用程序_Iphone_Ios_Ios4_Iphone Sdk 3.0_Backwards Compatibility - Fatal编程技术网

在不同iOS SDK下编译iphone应用程序

在不同iOS SDK下编译iphone应用程序,iphone,ios,ios4,iphone-sdk-3.0,backwards-compatibility,Iphone,Ios,Ios4,Iphone Sdk 3.0,Backwards Compatibility,我有带基本SDK 4.3的xcode 4。我将部署目标设置为3.0。虽然我的应用程序在4.3基本SDK上运行得很好,但我如何针对旧版本(主要是3.x SDK)编译它?我找不到提供该SDK的下载链接。在苹果的开发网站上,下载xcode 3的链接仅与最新的4.3 iOS SDK捆绑在一起。我也没有真正的3.0设备。我的假设是,验证3.x中兼容性的唯一方法是根据其SDK(3.x)进行编译 谢谢 编辑:使用4.x SDK在xcode中运行3.x SDK-您不应该使用较低的SDK编译它,只需将部署目标设置

我有带基本SDK 4.3的xcode 4。我将部署目标设置为3.0。虽然我的应用程序在4.3基本SDK上运行得很好,但我如何针对旧版本(主要是3.x SDK)编译它?我找不到提供该SDK的下载链接。在苹果的开发网站上,下载xcode 3的链接仅与最新的4.3 iOS SDK捆绑在一起。我也没有真正的3.0设备。我的假设是,验证3.x中兼容性的唯一方法是根据其SDK(3.x)进行编译

谢谢


编辑:使用4.x SDK在xcode中运行3.x SDK-

您不应该使用较低的SDK编译它,只需将部署目标设置为3.0,您的应用程序就可以在运行3.*的设备上运行。模拟器只会让你走到这一步,你的应用程序编译并不意味着它会运行

试着让你接触到旧的第一代iPhone或iPodtouch,它们对开发很有帮助


如果您确实使用SDK的更新版本,请确保不要调用在较低系统版本中不可用的任何方法/类。

这不是一个确切的答案,但是我遇到了与您相同的问题,我所做的是在iPad 3.2模拟器上运行该应用程序。我有xcode版本4.0.1,它有iPad3.2模拟器。然而,问题是它仍然会编译(至少我会编译),但当应用程序运行时,当遇到以前的SDK中不存在的选择器时,它会发出SIGABRT。其中一种方法是
self.window.rootViewController
,它只在iOS4和更高版本中找到。

Hi rckoenes,因此4.3基本SDK应该与3.x iOS兼容?如果我在4.3中使用了一个无法在3.x下运行的函数,你的应用程序将崩溃,那么请确保当你想调用一个可能不存在的方法时,使用
respondsToSelector:(SEL)aSelector
以确定是否可以调用该方法。是的,但这让我回到我的问题。。为了弄清楚函数x(存在于4.3SDK中)是否在3.x上工作,我需要根据3.xSDK编译它。。。那么,我怎样才能得到那个sdk呢?不,你不需要iOS 3 sdk来检查这个,你可以在文档中检查它。那将是非常乏味的。检查我使用的每个API。我找到了3.x SDK的下载链接。编译器检查就可以了。无论如何,谢谢你。