2016-05-23 2 views
7

Я пытаюсь включить Alamofire в мой проект Swift после инструкции github (https://github.com/Alamofire/Alamofire#cocoapods).Xcode не может найти Alamofire, ошибка: нет такого модуля 'Alamofire'

Я создал новый проект, переместился в каталог проекта и запустил эту команду sudo gem install cocoapods. Тогда я столкнулся следующее сообщение об ошибке:

ERROR: While executing gem ... (Errno::EPERM) 
    Operation not permitted - /usr/bin/pod 

После поиска мне удалось установить cocoapods, выполнив команду sudo gem install -n /usr/local/bin cocoapods

Теперь я генерировать файл стручок по pod init и редактировать его таким образом:

# Uncomment this line to define a global platform for your project 
# platform :ios, '9.0' 


target 'ProjectName' do 
    # Comment this line if you're not using Swift and don't want to use dynamic frameworks 
    use_frameworks! 


    # Pods for Law 
    pod 'Alamofire' 
    target 'ProjectNameTests' do 
    inherit! :search_paths 
    # Pods for testing 
    end 


    target 'ProjectNameUITests' do 
    inherit! :search_paths 
    # Pods for testing 
    end 


end 

Наконец, я запускаю pod install для установки Alamofire. После этого я открываю проект и import Alamofire заявление дает мне следующую ошибку No such module 'Alamofire'

Update-1: Результаты pod install является:

Analyzing dependencies 
Downloading dependencies 
Using Alamofire (3.4.0) 
Generating Pods project 
Integrating client project 
Sending stats 
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed. 
+1

Когда вы запускали установку pod, вы видели, что зависимости были установлены? У вас есть -bridging-header.h, если необходимо? Если этот процесс действительно загрузил Alamofire, откройте созданное .xcworkspace. –

+0

Я запускаю 'pod install' после редактирования файла pod. Результат «pod install» указан в обновлении. Так что зависимости установлены правильно. Думаю, –

+1

Похоже на это. Вы открываете .xcworkspace вместо xcodeproj? –

ответ

0

Вы должны нажать на объект, чтобы выбрать Alamofire и построить его один раз перед кодированием ,

+0

Я не могу найти способ добавить 'Alamofire 'in' Target Dependancies' из 'Build Fases'. Любое предложение пожалуйста? –

+1

после установки pod, вы должны открыть .xcworkspace –

+1

, и если вы не видите Alamofire в Target, вы можете нажать« Управление схемами », чтобы проверить его. –

6

Открыть .xcworkspace не .xcodeproj

+0

Пробовал открытие как 'xcodeproj', так и' xcworkspace'. К сожалению, ни один из них не работает! :( –

+0

Это решило мою проблему – Mav2287

0

Установить этот путь Pod файл

# Uncomment this line to define a global platform for your project 
platform :ios, '8.0' 
# Uncomment this line if you're using Swift 
use_frameworks! 

target 'NotifyM' do 

pod 'Alamofire', '~> 3.0' 

end 

target 'NotifyMTests' do 

end 

target 'NotifyMUITests' do 

end 
1

Я предлагаю вам изменить свой файл стручка, как это показано ниже:

# Uncomment this line to define a global platform for your project 
platform :ios, '8.0' 
# Uncomment this line if you're using Swift 
use_frameworks! 

pod 'Alamofire', '~> 3.0' <<<---- Alamofire library is cross beetween projects 

target 'NotifyM' do 

end 

target 'NotifyMTests' do 

end 

target 'NotifyMUITests' do 

end 

Другое дело use_frameworks! вы должны использовать это, если на проекте находится Objective-C и попробуйте использовать библиотеку pod Swift.

UPDATE: для новых cocoapods версии 1.x разделяемые библиотеки должны быть такими:

# There are no targets called "Shows" in any Xcode projects 
abstract_target 'Shows' do 
    pod 'ShowsKit' 
    pod 'Fabric' 

    # Has its own copy of ShowsKit + ShowWebAuth 
    target 'ShowsiOS' do 
    pod 'ShowWebAuth' 
    end 

    # Has its own copy of ShowsKit + ShowTVAuth 
    target 'ShowsTV' do 
    pod 'ShowTVAuth' 
    end 
end 

, как указано на сайте cocoapods: http://guides.cocoapods.org/using/the-podfile.html

+1

Этот синтаксис не работает с CocoaPods 1.0 больше – ctietze

0

Я полагаю, что и это работа для меня :

platform :ios, '8.0' 
use_frameworks! 

target 'App' do 
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git' 
    pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git' 

end 

После этого запустите: pod install в репозитории проекта

1

Иногда без причины xcode не может загрузить модуль Alamofire. Это может произойти после рабочего сеанса после открытия проекта. Исправить это - выбрать схему -> Alamofire и запустить. Если сообщение «Успешно», схема может быть изменена обратно в проект, и она будет работать без проблем.

+0

После попытки кучи и кучи предлагаемых решений это действительно сработало ! Спасибо. – Surpher

1

вам нужно очистить проект и построить, прежде чем вы сможете импортировать эту библиотеку.

+0

это должно быть в комментарии – manetsus

1

перейти к продукту -> Схема -> Управление схемами ... и проверьте Alamofire true sample image Эта работа для меня

+0

отличное решение! – starScream