【问题标题】:Pods project with App Extension started failing to build带有 App Extension 的 Pods 项目开始无法构建
【发布时间】:2015-08-28 04:55:42
【问题描述】:

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

【问题讨论】:

    标签: ios xcode xcode6 cocoapods ios-app-extension


    【解决方案1】:

    老实说,我不知道出了什么问题,但经过数小时的调查(并完全移除 pod,放弃,然后重试),我已经清理了所有内容。我也重置了项目的配置(调查时我不小心删除了一些配置)。我已经删除了 xcworkspace 文件、Pods 文件夹和 Podfile.lock 文件。还有设置Build active architecture only,它被粗体设置(覆盖默认值)为yes,我已经删除了覆盖,它又变成了no。这是一个干净的开始。回到我的 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 位的二进制文件/框架/库。

    【讨论】:

    • 我收到此错误:找不到 -lPods-Project_name WatchKit Extension 的库。我的 pod 文件是: # 取消注释此行以为您的项目定义一个全局平台 # platform :ios, '8.0' # 如果您使用 Swift,请取消注释此行 # use_frameworks! platform :ios, :deployment_target => “7.0” target 'Project_name' , :exclusive => true do pod 'Google/Analytics' end target 'Project_name WatchKit Extension' do pod 'Google/Analytics' end target 'Project_name WatchKit App' do pod 'Google/Analytics' end @can
    • @jams 很难从评论中理解文件,因为行被搞砸了。
    • 我收到此错误:找不到 -lPods-Project_name WatchKit Extension 的库。我的 pod 文件是: # 取消注释此行以为您的项目定义一个全局平台 # platform :ios, '8.0' # 如果您使用 Swift,请取消注释此行 # use_frameworks! platform :ios, :deployment_target => “7.0” target 'Project_name' , :exclusive => true do pod 'Google/Analytics' end target 'Project_name WatchKit Extension' do pod 'Google/Analytics' end target 'Project_name WatchKit App' do pod 'Google/Analytics' end @can,我可以给你发邮件吗?面临很多问题。
    • @jams 可能您已经在某处更改了扩展名?
    • 我解决了。实际上没有问题。我删除派生数据。退出、重启、清理和构建。它运行成功。现在,我将其发送给客户端进行上传。非常感谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多