这可能听起来像是一个新手问题,但我是Mac OS新手,
这里我有一个带有旧版Base SDK的编译应用程序,比如10.5版本,它在Mac OS 10.5版本上运行没有任何问题。
在最新版本的Mac OS 10.6,10.7上,它在某些情况下工作不正确。
旧的应用程序应该在新版本的操作系统中保持兼容,基本上我想知道Apple如何在新版本的Mac OS中保持与旧应用程序的兼容性?
答案 0 :(得分:0)
Apple通常会非常小心地确保其API的向后兼容性,以便在升级操作系统时旧应用程序不会中断。它们不会删除APIS,只是将它们标记为已弃用。
最有可能的是,您的应用程序正在做一些不受支持或存在错误的应用程序,因为Apple已经更改了其API的实现。
我的头脑中有一些可能的原因
int
,其中API需要NSInteger)。尝试使用针对最新API的当前Xcode重新编译应用程序,同时启用-Wall
警告标志并启用静态分析器。这将告诉您使用弃用API的位置,关于pargument和return类型的错误假设以及许多其他问题。