添加 Today Extension 编译失败

Posted

技术标签:

【中文标题】添加 Today Extension 编译失败【英文标题】:Adding Today Extension Fails To Compile 【发布时间】:2014-07-10 18:05:57 【问题描述】:

我最近打算将 ios 8.0 Today Extension 构建到现有项目中,但我在开始时遇到了麻烦。在添加今天的扩展之前,我能够在 Xcode 6 中打开我的项目并毫无问题地运行。

但是,在我添加扩展后,编译器给了我以下错误:

fatal error: 'Mantle.h' file not found Command /Applications/Xcode6-Beta3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

更多细节:

使用 Xcode 6 beta 3 使用 CocoaPods(Mantle.h 来自 pod) 添加了今天的扩展,但我没有为它创建方案。我之前尝试过创建一个方案,但这也不起作用。 我一直在尝试使用以前的应用程序目标运行。我也尝试过使用扩展目标,但构建失败并出现同样的错误。

我创建了一个新项目以查看是否有同样的问题,但我无法重现它。在我的项目中添加可能导致这种情况的扩展更改是什么?请注意,这是我现有文件中的错误,而不是我为扩展创建的新文件。除了将扩展添加到我的项目之外,我什么也没做。

【问题讨论】:

确保所有必要的文件(例如 Mantle.h)都包含在您的扩展目标中。您可以通过在左侧栏中选择文件并使用右侧栏中的文件检查器来将文件添加到目标。 由于Mantle在Pods项目中,相信只能添加到那个target,不能添加到extension target。 嗨@AdamPro13 你解决了这个问题吗,也请给我建议... 嗨@AdamPro13 你能告诉我们你的podfile吗?我收到重复的符号错误,因为我想使用 f.e. AFNetworking 在我的主应用程序和小部件中都有......有什么建议吗?谢谢 【参考方案1】:

问题在于 .pch 文件引用了扩展程序无权访问的文件。创建一个新的 .pch 文件修复它。

【讨论】:

以上是关于添加 Today Extension 编译失败的主要内容,如果未能解决你的问题,请参考以下文章

iOS8 Today View Extension 小部件在应用商店中出现“FairPlay 解密失败”错误

iOS 8 Today Extension:是否可以添加可编辑的文本字段?

iOS 8 Today Extension:是不是可以添加可编辑的文本字段?

Today Extension 删除 sqlite 中的数据

Today Extension 上的 CocoaPods

iOS Today Extension - 共享核心数据