2014-11-05 49 views
0

对CocoaPods非常沮丧,并希望某种灵魂能够帮助我。我安装了两个依赖项。一切都正确建立,直到我犯了严重的错误,实际上试图在我的代码中使用这些依赖关系。CocoaPods打破了我的项目

在我SubscribeViewController.m文件,我添加这一条简单的直线(即发出任何编译器警告或错误):

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

然后我去跑项目,以及出现这种情况:

enter image description here

我看到了一些潜在的解决方案,比如adding SubscribeViewController.m给我的编译源和changing有效的体系结构。这些都不起作用。我该怎么做才能让这些依赖关系发挥作用?

这里是Podfile:

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 
+0

您是从'.xcodeproj'还是'.xcworkscpace'构建? – Adam 2014-11-05 18:08:52

+1

这就是为什么我永远不会相信cocoapods。我曾尝试过一次,因为人们向我保证它和Python的pip一样有用,但pip从未强迫我的整个项目以完全不同的方式组织起来。我的建议:抛出cocoapods并手动添加你的依赖到你的项目。这并不难,事实上,我认为即使使用Cocoapods也能完美地工作,这并不是对手动添加依赖关系的改进。 – ArtOfWarfare 2014-11-05 18:10:59

+0

@Adam - xcworkspace。 – Alex 2014-11-05 18:15:40

回答

0

的AFHttp荚可能尚未建立该体系结构。我在我的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?

+0

当然。感谢您的建议。 – Alex 2014-11-05 18:38:38

+0

这允许我的项目构建。然而,我得到一个非常关注的编译器警告'Pods-MyProect被拒绝作为'libPods-MyProject.a'的隐式依赖,因为它的架构'i386'不包含所有必需的架构'x86_64'。任何关于这可能的后果的想法?我不会留下未解决的编译器警告。 – Alex 2014-11-05 22:59:18

+0

我相信你应该从构建目标中删除64位体系结构。看到这里:http://stackoverflow.com/questions/18881986/integration-error-with-cocoapods-and-xcode5 – mitrenegade 2014-11-06 15:34:05