ios - 带有 App Extension 的 Pods 项目开始构建失败

标签 ios xcode xcode6 cocoapods ios-app-extension

我当时正在开发我的应用程序,没有更改任何设置或 pod,我尝试在大约两周后归档构建,但失败了。然后我尝试调试构建(正常的 Cmd+R)但失败并出现错误:

ld: library not found for -lPods-AFNetworking

我试过了 pod install很多次。我试过删除与 pod 相关的所有内容(而不是 Podfile 本身)并制作 pod install/pod update再次。没有用。

这是我的 Pod 文件:

platform :ios, '8.0'

link_with 'MY_APP_NAME_REDACTED'

pod 'Parse', '1.7.4'
pod 'ParseFacebookUtils', '1.7.4'
pod 'ParseCrashReporting', '1.7.4'
pod 'GPUImage'
pod 'AFNetworking'
pod 'IntentKit'

inhibit_all_warnings!

我还没有碰过它,直到今天早上它都运行良好。现在,在我尝试了一切之后,在干净地重新安装之后,我得到:

Lexical or preprocessor issue: 'Parse/Parse.h' file not found在我的应用程序扩展中(我的应用程序本身似乎没有问题)。

我不知道构建系统如何能够有效地“自毁”自己。我没有进行任何 Pod 更新、Pod 安装、我没有触及 Podfile、我没有更改项目中的任何配置设置等。我只是编写代码,当我尝试存档我的项目以发送给 Beta 测试人员时, 它坏了。

如果我更改我的 podfile 并将我的共享扩展名添加到 link_with :

platform :ios, '8.0'

link_with 'MY_APP_NAME_REDACTED', 'Share Extension'

pod 'Parse', '1.7.4'
pod 'ParseFacebookUtils', '1.7.4'
pod 'ParseCrashReporting', '1.7.4'
pod 'GPUImage'
pod 'AFNetworking'
pod 'IntentKit'

inhibit_all_warnings!

然后我收到一些警告和错误。

Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'arm64' didn't contain all required architectures 'armv7 arm64'

ld: warning: directory not found for option '-L/Users/Can/Documents/Programming/iOS/MY_APP_NAME_REDACTED/build/Debug-iphoneos'

ld: warning: directory not found for option '-L/Users/Can/Documents/Programming/iOS/MY_APP_NAME_REDACTED/build/Release-iphoneos'

ld: library not found for -lPods-AFNetworking <--- THIS IS ERROR

如何重新构建我的项目?我在 Xcode 6.3.2 和 CocoaPods 0.37.2 上。

最佳答案

老实说,我不知道出了什么问题,但经过数小时的调查(并完全移除 pod,放弃,然后再次尝试),我已经清理了所有内容。我也重置了我的项目配置(其中一些我在调查时不小心删除了)。我删除了 xcworkspace 文件、Pods 文件夹和 Podfile.lock 文件。还有设置 Build active architecture only 并且它被粗体设置(覆盖默认值)为是,我已经删除了覆盖并且它再次变为否。这是一个干净的开始。回到我的 Podfile 并对其进行一些重组:

platform :ios, '8.0'

link_with 'MY_APP_NAME_REDACTED', 'Share Extension'

def shared_pods
    pod 'Parse', '1.7.4'
end

target 'uLouder' do
    shared_pods
    pod 'GPUImage'
    pod 'AFNetworking'
    pod 'IntentKit'
    pod 'ParseFacebookUtils', '1.7.4'
    pod 'ParseCrashReporting', '1.7.4'
end

target 'Share Extension' do
    shared_pods
end

我的应用我的共享扩展只需要解析。我的应用扩展不需要其他的。然后我已经构建了,并且在我的项目中遇到了一些关于其他一些非 pod 框架的错误。我已经删除了它们,将它们从构建阶段等中删除,然后重新添加它们,并且构建成功(老实说,我不知道从所有内容中删除然后再次添加是什么修复了,但它显然修复了 某事)。

现在我的项目使用上面的 podfile 编译成功。作为引用,我正在使用 Parse 并且我有一个共享扩展。在这种情况下要格外小心,因为您显然不能在应用程序扩展中使用仅 32 位的二进制文件/框架/库。

关于ios - 带有 App Extension 的 Pods 项目开始构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30798693/

相关文章:

ios - Swift - 从 map 注释执行 Segue

ios - Xcode 8 : Archive build fails (for nested frameworks) with link errors. 常规构建编译成功

ios - 在新库 ViewController 上方添加 UIButton

ios8 - UIAlertController 获取文本

ios - "GPUImage.h"未找到

javascript - 推送通知切换选项在 xcode 11 中不可用。连能力都没有

ios - 当键盘出现在 Swift 中时,UITextField 向上移动

c++ - 在 Mac OS X 上编辑 C++ 的好方法是什么?

Objective-c:知道内存位置是否被释放

ios - 无法在 iPhone 5 上运行 xCode 6 Beta 5 Swift 应用程序?