我有一个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上运行吗?
答案 0 :(得分:0)
您需要与AVFoundation.framework
进行弱链接,这会导致链接失败但进程仍在继续运行。
请参阅此Apple Framework Programming Guide。