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