2014-11-05 4 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

+1

И вот почему я никогда не доверяю кокоаподам ни с чем. Я попробовал это однажды, потому что люди заверили меня, что это было так же полезно, как пипс Питона, но pip никогда не заставлял весь мой проект организовываться совершенно по-другому. Мой совет: выбросьте cocoapods и вручную добавьте свои зависимости к вашему проекту. Это не очень сложно ... на самом деле, я бы сказал, что даже с Cocoapods работает отлично, это не улучшает ручную процедуру добавления зависимостей. – ArtOfWarfare

+0

@Adam - xcworkspace. – Alex

ответ

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

+0

Это позволило моему проекту построить. Тем не менее, я очень серьезно отношусь к предупреждению компилятора: «Pods-MyProect был отклонен как неявная зависимость для« libPods-MyProject.a », потому что его архитектура i386« не содержит всех требуемых архитектур «x86_64». Любая идея о том, каковы могут быть последствия этого? Я не большой поклонник оставлять предупреждения компилятора неразрешенными. – Alex

+0

Я считаю, что вы должны удалить 64-битную архитектуру из своей цели сборки. См. Здесь: http://stackoverflow.com/questions/18881986/integration-error-with-cocoapods-and-xcode5 – mitrenegade

Смежные вопросы