使用App Extension的Pod项目开始无法构建

时间:2015-06-12 08:30:53

标签: 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。没有用。

这是我的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(我的应用本身似乎没有问题)。

我不知道构建系统如何能够从绝对没有任何东西中有效地“自毁”自己。我没有做任何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。

1 个答案:

答案 0 :(得分:6)

我几乎不知道出了什么问题,但是经过几个小时的调查(并完全删除吊舱,放弃,然后再次尝试),我已经清理了一切。我也重置了我项目的配置(在调查时我不小心删除了一些)。我删除了xcworkspace文件,Pods文件夹和Podfile.lock文件。还有设置Build active architecture only并且它是粗体设置(覆盖默认设置)为yes,我已经删除了覆盖并且它再次变为不再。这是一个干净的开始。回到我的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位的二进制文件/框架/库。