【问题标题】:CocoaPods breaks my projectCocoaPods 破坏了我的项目
【发布时间】: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 肯定是值得的。特别是随着依赖项数量的增长。它还使导入小的依赖项变得微不足道,因此您可以更多地使用它们。

标签: ios xcode 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 位架构。见这里:stackoverflow.com/questions/18881986/…
猜你喜欢
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
相关资源
最近更新 更多