Github( https://github.com/Alamofire/Alamofire#cocoapods )の指示に従ってSwiftプロジェクトにAlamofireを含めようとしています。
新しいプロジェクトを作成し、プロジェクトディレクトリに移動して、このコマンドSudo gem install cocoapods
を実行しました。それから私は次のエラーに直面しました:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
検索した後、このコマンドSudo gem install -n /usr/local/bin cocoapods
を実行して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.
.xcodeprojではなく.xcworkspaceを開きます
理由もなく、xcodeがモジュールAlamofireをロードできない場合があります。これは、作業セッションの後、プロジェクトを開いた後に発生する可能性があります。これを修正するには、スキーマ-> Alamofireを選択して、実行します。メッセージが「成功」の場合、スキーマをプロジェクトに戻すことができ、問題なく機能します。
そのライブラリをインポートする前に、プロジェクトをクリーンアップしてビルドする必要があります。
以下のようにポッドファイルを変更することをお勧めします。
# 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
もう1つは、use_frameworks!
です。プロジェクトがObjective-C
ベースの場合はこれを使用し、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
この方法でポッドファイルをインストールします
# 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
ターゲットをタップしてAlamofireを選択し、コーディングする前に一度ビルドする必要があります。
私はそれを提案し、それは私のために働いています:
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
プロジェクトリポジトリ内