CocoaPods 破坏了我的项目

Posted

技术标签:

【中文标题】CocoaPods 破坏了我的项目【英文标题】:CocoaPods breaks my project 【发布时间】:2014-11-05 18:05:34 【问题描述】:

对 CocoaPods 感到非常沮丧,希望有好心人来帮助我。我安装了两个依赖项。一切都正确构建,直到我犯了一个严重的错误,即在我的代码中实际尝试使用这些依赖项。

在我的 SubscribeViewController.m 文件中,我添加了这一行(不会发出编译器警告或错误):

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

然后我去运行项目,结果是这样的:

我看到了一些潜在的解决方案,例如 addingSubscribeViewController.m 到我的编译源和 changing 有效架构。这些都不起作用。我该怎么做才能使这些依赖项起作用?

这是 Pod 文件:

platform :ios, '7.0'

source 'https://github.com/CocoaPods/Specs.git'

target 'MyProject' do
    pod 'Braintree'
    pod "AFNetworking", "~> 2.0"
end

target 'MyProjectTests' do
    pod 'Braintree'
    pod "AFNetworking", "~> 2.0"
end

【问题讨论】:

您是从.xcodeproj 还是.xcworkscpace 构建的? 这就是为什么我从不相信 cocoapods 有任何东西。我尝试过一次,因为人们向我保证它与 Python 的 pip 一样有用,但 pip 从未强迫我的整个项目以完全不同的方式组织。我的建议:扔掉 cocoapods 并手动将您的依赖项添加到您的项目中。这并不难……事实上,我认为即使 Cocoapods 可以完美运行,它也不是对手动添加依赖项过程的改进。 @Adam - xcworkspace. @ArtOfWarfare - 基于我最初 24 小时参与 CocoaPods,我同意你的看法。我会调查一下,但我希望能找到一个快速的解决方案,而不必重新开始。 在新项目中使用这个 Podfile 可以正常工作。 @ArtOfWarfare 除非您的依赖项很小且从未更新,否则 CocoaPods 肯定是值得的。特别是随着依赖项数量的增长。它还使导入小的依赖项变得微不足道,因此您可以更多地使用它们。 【参考方案1】:

AFHttp pod 可能不是针对该架构构建的。我的 podfile 中有这个,所以你可以试试看是否有帮助。我写这个只是为了格式化的答案,即使我不确定这是否是实际的解决方案。

# Remove 64-bit build architecture from Pods targets
post_install do |installer|
  installer.project.targets.each do |target|
    target.build_configurations.each do |configuration|
      target.build_settings(configuration.name)['ARCHS'] = '$(ARCHS_STANDARD_32_BIT)'
    end
  end
end

你能包含你当前的 podfile 吗?

【讨论】:

当然。感谢您的建议。 这让我的项目得以构建。但是,我收到了一个非常令人担忧的编译器警告Pods-MyProect was rejected as an implicit dependency for 'libPods-MyProject.a' because its architectures 'i386' didn't contain all required architectures 'x86_64'。知道这可能会产生什么后果吗?我不喜欢留下未解决的编译器警告。 我相信您应该从构建目标中删除 64 位架构。见这里:***.com/questions/18881986/…

以上是关于CocoaPods 破坏了我的项目的主要内容,如果未能解决你的问题,请参考以下文章

升级 Xcode 后 cocoapods 的问题

使用 Cocoapods 导入 SwiftyJSON 时出错

Interface Builder 在使用 Cocoapods 1.0 的框架项目上被破坏

升级 android studio 破坏了我的颤振构建(macOS)

无法在 xcode 9.2 项目中安装 Cocoapods

Firebase 工具破坏了我的 webapp 依赖项