【问题标题】:How to make OSX 10.7 app with AVFoundation code run on 10.6 without using AVFoundation code如何使带有 AVFoundation 代码的 OSX 10.7 应用程序在 10.6 上运行而不使用 AVFoundation 代码
【发布时间】:2013-09-25 13:50:28
【问题描述】:

我有一个使用 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 上运行所需的操作吗?

【问题讨论】:

    标签: macos


    【解决方案1】:

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

    看到这个苹果Framework Programming Guide

    【讨论】:

    • 酷,这很简单。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-26
    • 2013-12-16
    相关资源
    最近更新 更多