2

我有一个使用 XCode 开发的 Mac 应用程序,并将 Base SDK 设置为 10.7,因为我使用的是 AVFoundation 框架中的代码。我希望应用程序在 10.6 上运行,但由于 AVFoundation 在 10.6 上不可用,我希望应用程序能够在没有任何 AVFoundation 功能的情况下运行(换句话说,只是让这些功能不可用) .

当我在 10.6 上运行该应用程序时,它立即崩溃,因为它找不到 AVFoundation 的动态库。我曾认为通过将我的 XCode 项目中的部署目标设置为 10.6,我可以解决这个问题,但显然它仍然会尝试加载动态库。此外,正如本页(http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/)所指出的,我正在检查以确保 AVFoundation 类可用通过做这个:

Class myClass = NSClassFromString(@"AmazingNewClass");
if(myClass) {
  //I can use “myClass” in place of AmazingNewClass when calling class methods:
  AmazingNewClass *instance = [[myClass alloc] init];
} else {
  //The class doesn’t exist
}

但这无济于事。有人可以指导我完成让我的应用程序在 10.6 上运行所需的操作吗?

4

1 回答 1

0

您需要对 进行弱链接AVFoundation.framework,这允许链接失败但进程继续运行。

请参阅此 Apple框架编程指南

于 2013-09-25T05:50:28.487 回答