2

MediaAccessibility 框架已添加到 SDK7 中,我想使用它。但是,我们的测试构建系统仍然使用 xcode 4,我仍然需要它来工作。

为了在 iOS6 和 iOS7 上都支持这一点,我在我的 gyp 文件中弱链接了这样的框架:

  'xcode_settings': {
    'OTHER_LDFLAGS': ['-weak_framework MediaAccessibility'],
  },

在 xcode 5 中构建时效果很好。我可以毫无问题地为 iOS7 目标和 iOS6 目标构建。对于 iOS7 目标,方法如预期一样可用,而对于 iOS6 目标,方法不可用,因为框架是弱链接的。都好。

但在 xcode 4 中,它无法构建:

ld:找不到框架 MediaAccessibility

我有什么方法可以让 xcode 4 为 SDK6 中不存在的这个框架做相当于“弱链接”的工作?

4

1 回答 1

2

与框架的弱链接要求框架存在于您用于构建的 SDK 中。

您也许可以对其他链接器标志使用 SDK 特定的设置。这将在 SDK 为 iOS 7 或更高版本时添加 -weak_framework,而在 SDK 为 iOS 6 时不添加。 xcodeproj 可能如下所示:

"OTHER_LDFLAGS[sdk=*]" = (
    "-weak_framework",
    MediaAccessibility,
);
"OTHER_LDFLAGS[sdk=iphonesimulator6.1]" = "";
"OTHER_LDFLAGS[sdk=iphoneos6.1]" = "";
于 2013-10-30T18:58:42.047 回答