そのビデオに示されているように、Xcode用のiOSフレームワークを作成することができました:-
https://youtu.be/86cPaa3FrRg?t=4m55s
5:00に、彼らはフレームワークを埋め込みバイナリに追加する必要があると言います。 Embeded Binariesに追加すると、機能します。
埋め込みバイナリにGoogleAds.frameworkを追加する必要はありません。埋め込みバイナリへの追加は、Googleのソリューションと比較して少し「ハッキー」に見えます。したがって、このチュートリアルにはいくつかのステップが欠けていると思います。
私の質問は、Embed Binariesに追加せずに機能するフレームワークを作成するにはどうすればよいですか?
tl; drどちらもフレームワークですが、タイプが異なります。
「フレームワーク」という用語はあいまいです。 OSXでは、パッケージ化されたダイナミックライブラリを意味します(つまり、.dylib
、ヘッダー、その他)。ただし、iOS 8以前は、ユーザーはダイナミックライブラリを作成できなかったため、パッケージ化された静的ライブラリを提供するために「静的フレームワーク」が発明されました(つまり、.a
、ヘッダー、その他)。
作成したフレームワークを組み込みバイナリとしてアプリにパッケージ化する必要がある場合は、動的フレームワークのように聞こえますが、Google広告がそうでない場合は、静的フレームワークであると思われます。すでにアプリのバイナリにリンクされているため、埋め込む必要はありません。
静的フレームワークの作成方法を知りたい場合は、 ここ 、またはGoogleの「ios静的フレームワーク」を開始してください。
IOS 8より前は、開発者は、Appleのフレームワークのディレクトリ構造を模倣することにより、静的ライブラリと一緒に石畳にされたサポートされていないフレームワークを出荷していました。それらは機能しましたが、構築するのが面倒で、 静的 -動的ではない-ライブラリでした。
IOS 8以降、AppleはXcodeでのサードパーティの動的フレームワークの構築を公式にサポートしています。これらのタイプのフレームワークはコード署名されており、アプリの埋め込みバイナリに配置する必要があります。それらは埋め込まれたバイナリに配置できませんが、デバイスで実行しようとすると例外が発生し、アプリがクラッシュします。
長期的には、公式のフレームワークサポートが利用可能になったため、GoogleAds.framework
のようなハッキングされたフレームワークはなくなると思います。これは、EmbeddedBinariesにフレームワークを配置することに慣れる必要があることを意味します。
コードでiOS7をサポートする必要がない限り(この場合、公式フレームワークはiOS 8でのみ機能するため、オプションではありません)、現時点ではサポートされていないタイプのフレームワークを作成しないことをお勧めします。