新来的家伙,但有一个真正的问题。我有一个使用SDK4开发的iPhone应用程序。随着苹果推出新的iOS版本6,我的代码是否需要在新的SDK上重新编译才能与版本6兼容?
现在它在iOS6上崩溃了。另外,每次苹果推出新版本时,我都需要这么做吗?我想知道地球上的其他应用程序都已经这样做了吗?!
发布于 2012-10-20 06:07:01
主要iOS升级的问题是方法被弃用。可能会发生这样的情况:代码的某些部分依赖于iOS6中不支持的方法。发生这种情况时,您应该首先检查API更改,然后使用最新的API重新编译它。如果您的代码库在iOS6上工作得很好,那么就不需要重新编译它,但不幸的是,您的情况似乎并非如此。
发布于 2012-10-20 06:13:01
有时你也不需要。大多数时候,苹果发布了库的更新,所以有时旧的代码不再兼容。你必须重新编译它,否则你会发现问题。
例如,我在iOS 5上有一个可以正常工作的应用程序。在iOS 6更新时,我不得不参考一些新的代码,因为该应用程序在SIGABRT下崩溃。在iOS 6之前,它工作得很好。通过Xcode的调试器,大多数时候查找问题并不是一件困难的工作。
发布于 2012-10-20 06:19:26
我发现,大多数情况下,崩溃是由我的应用程序中的一个我没有意识到的现有bug引起的。微妙的变化揭示了这一点。这很少只是一个重新编译的问题,而是修复那个bug的问题。
只是重新编译可能是危险的。苹果可以(也确实)检测你的应用程序是用什么版本的开发工具编译的,维护一些行为,让你的应用程序保持运行。更新,你将会得到新的行为。
https://stackoverflow.com/questions/12982972
复制相似问题