我有兴趣针对较旧版本的SDK(3.1.3)测试我当前的iPhone应用程序。 我知道我可以编译我的代码以在此版本的SDK上运行,但我想测试它以确保它仍然有效,因为我使用较新的API并使用弱链接以便它将继续工作较旧的iOS版本。自从将XCode升级到最新版本以来,iOS 3.1.3不是在iPhone模拟器中运行的选项。所以我下载了旧版本的XCode,并将其当前版本并排安装在/Developer/XCode Old
文件夹中。但是当我尝试编译我的代码并在旧版本的XCode中运行它时,它会因为SDK不能识别新类的符号而感到窒息 - 即使它们是弱链接的。 有没有办法让我的应用在旧SDK中运行,所以我可以检查它是否有效?
我还尝试在测试iPhone上降级iOS,但它没有用。我想Apple会让iOS降级非常困难。并且我对越狱我的iPhone不感兴趣,允许我降级它以允许我测试它。为什么Apple会让您的应用程序与旧版本的操作系统兼容?
答案 0 :(得分:2)
有没有办法让我的应用程序在较旧的SDK中运行,所以我可以检查它是否正常工作?
没有。图书馆需要在链接时存在;弱链接只意味着它们不需要在加载(或延迟加载)时存在。
使用较旧的“Base SDK”进行编译也会改变正在编译的内容,因为__IPHONE_OS_MAX_ALLOWED(或其所谓的)将会有所不同。类似的事情是编译4.0但在3.1.3模拟器中运行该应用程序,除了不起作用 - Apple最近才向他们的模拟器框架添加了向后兼容性。
我只是要求3.1.3上的某人进行测试。让iPod Touch运行3.1.3应该不会太难,而且仍然应该有很多用户。如果您与用户有任何联系(电子邮件,推特),那么这是一个选项。