私はAlamofireに依存する新しいCocoa Touch Framework(MyFramework.framework)を作成しています。このフレームワークはSwiftに書かれています。テストとして、私は新しいココアタッチFrameworkプロジェクトを開始しました:Cocoa Touch Frameworkを作成するときにCocoaPodを使用できますか?
File > New > Project > Framework & Library > Cocoa Touch Framework
その後、私が行っターミナルで:
pod init
をこのプロジェクトディレクトリの下。新しく作成されたPodfileで、私は次のように追加しました:
pod install
を離れコーディングをしました:
source 'https://github.com/CocoaPods/Specs.git'
# 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'
はもう一度、ターミナルで私が行いました。
シングルビュープロジェクトでMyFramework.framework製品を使用するまでは、すべてうまく見えました。私は次の問題を取得するプロジェクトを実行しようとすると:
dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
Referenced from: /Users/me/Library/Developer/CoreSimulator/Devices/87DA70B6-49BF-441E-BD81-F4A80B0792CF/data/Containers/Bundle/Application/2E414EA8-7E54-4D71-9295-566D4FAAADE2/test.app/Frameworks/MyFramework.framework/MyFramework
Reason: image not found
私はココアタッチフレームワークプロジェクトは本質的に動的なと思っていたので、すべての依存関係が含まれます。
誰にこのようなことが起こっているのか、どのように修正できるのか誰にでも教えてください。 これはCocoaPodsの問題ですか、それとも何か不足していますか?
私はあなたが私からのより多くの情報が必要かどうか私にお知らせください。
ありがとうございます!
これは、あなたが作成しているフレームワークが、依存関係がアプリケーションに埋め込まれていて(リンクされているだけで、アプリケーションによって埋め込まれている)長くて満足しているからです。 Appleはフレームワークの導入について非常に戸惑うようだが、追加が必要な唯一の場所はアプリだ。これは、さまざまなバージョンのフレームワークを追加するさまざまなフレームワークが混乱を招くことを避けるためです。私は他の極端な画像を与えるために "java classpath"とだけ言及する必要があります。フレームワークでフレームワークを使用することは非常に困難ですが、いわゆる傘のヘッダーを使用して行うことができます。 –
"簡単な方法"はFirebaseのような特定のライブラリの場合、[[!] 'Pods-MyApp'ターゲットに競合する名前のフレームワーク、googletoolboxformacがあります。 –
非常に便利な投稿です! – VaporwareWolf