次のポッドでpodfile
定義されています。
platform :ios, '8.0'
use_frameworks!
target 'LifeStream' do
pod 'SSKeychain'
pod 'LiveSDK'
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'swift-2.0'
end
ポッドをインストールし、ワークスペースを開きました。Swift 2 バージョンがプロジェクトをフレームワークとしてインポートしているため、Alamofire の使用法は問題なく機能することがわかりました。
ただし、SSKeychain クラスを使用しようとすると、
未解決の識別子「SSKeychain」の使用
LiveSDK で使用しようとしているクラスにも同じことが当てはまります。
プロジェクトのルート ディレクトリにブリッジ ヘッダーがあり、プロジェクトはそれを使用するように構成されています。
#ifndef Header_h
#define Header_h
#import "SSKeychain/SSKeychain.h"
#import "LiveSDK/LiveConnectClient.h"
#endif /* Header_h */
#import
から変更した場合
#import "SSKeychain/SSKeychain.h"
に
#import "SSKeychain.h"
ファイルが見つからないため、Xcode はコンパイルに失敗します。したがって、ブリッジ ヘッダーを作成する方法では、ヘッダーが見つからないことによるコンパイラ エラーが生成されないため、ブリッジ ヘッダーは機能していると思います。
ブリッジ ヘッダー
フレームワーク検索パス
また、プロジェクトのルート ディレクトリをフレームワークの検索パスに追加しました。
リンクされたフレームワーク
最後に、すべてのフレームワークもプロジェクトにリンクしました。
セットアップで何か不足していますか? Cocoapods を自分のプロジェクトで 1 週間近く使用できませんでした。私は自分のプロジェクトがめちゃくちゃだと思って、まったく新しいプロジェクトを作成しました。それは何も変えませんでした。これを解決するためにここから何をすべきかわかりません。
編集
追加の調査を行った後、ユーザー ヘッダー検索に Pods ディレクトリを含める必要があることを示すブログ投稿を見つけました。
コメンターは、Swift の新しい Cocoapods Frameworks サポートを使用している場合は、Frameworks/** 検索パスを含める必要があるとも述べています。Pods/** と Frameworks/** の両方を含めましたが、まだ同じ問題があります。
さらに読んだ後、これがCocoapodsの制限であるように聞こえ始めています。私が理解していることから、プロジェクトで同時にライブラリとフレームワークを一緒に使用することはできません。