我当时正在开发我的应用程序,没有更改任何设置或 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/