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

Pods project with App Extension started failing to build

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

ld: library not found for -lPods-AFNetworking

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

这是我的 Podfile:

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 在我的应用扩展中(我的应用本身似乎没有问题)。

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

如果我更改我的播客文件并将我的共享扩展名添加到 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.

老实说,我不知道出了什么问题,但经过数小时的调查(并完全删除 pods,放弃,然后重试),我清理了所有内容。我也重置了我的项目配置(其中一些我在调查时不小心删除了)。我删除了 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

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

现在我的项目使用上面的 podfile 编译成功。作为参考,我正在使用 Parse 并且我有一个共享扩展。在这种情况下要格外小心,因为您显然不能在应用程序扩展中使用 32 位 binaries/frameworks/libraries。