如何使用AVFoundation代码在不使用AVFoundation代码的情况下在10.6上运行OSX 10.7应用程序

时间:2013-09-25 05:45:58

标签: macos

我有一个Mac应用程序,我正在使用XCode开发,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上运行吗?

1 个答案:

答案 0 :(得分:0)

您需要与AVFoundation.framework进行弱链接,这会导致链接失败但进程仍在继续运行。

请参阅此Apple Framework Programming Guide