SDKの開発とは何ですか?
毎日の開発、我々は、いくつかの例は、ソースコード、および需要の他のプロジェクトコンポーネントを提供していない私たちはOCの開発で、開発にSDKを使用することができます。この時間が発生します、我々は一般的に静的ライブラリ(.A)または動的に関連しますライブラリー(.framework)。(注:不是所有的.framework就一定是动态库)
静的ライブラリと動的ライブラリ?
静的ライブラリ:実行可能ファイルの完全なコピーへのリンクは、複数の用途の複数の冗長コピーがあります。フォーム.a和.framework
動的ライブラリ:リンクをコピーしていない、プログラムが動的にメモリにロードされたシステムによって実行される、プログラムがメモリを節約し、いくつかのプログラムを共有し、一度だけロードするシステムのために呼び出します。表現の形として、.dylib和.framework
注意:动态库只能苹果使用,如果项目中使用了动态库不允许上架(如:jspatch)
そして.frameworkの違いは何ですか?
.Aは、同様の外バイナリリソースファイルに加えて、純粋なバイナリファイル、.frameworkです。.Aファイルには、少なくとも、.frameworkファイルを直接使用することができると.hファイルを持って、直接使用することはできません。.A +・H + SOURCEFILE = .framework。推奨される.framework。
次の例では、独自に作成するのに役立ちます.framework
まず、作成します.workspace
.frmawork
良い作成する
frmawork
に追加
workspace
で
framewrok
、それは彼らの必要なコンテンツパッケージにパックすることができます
例えば:私は、
StringUtils
テストメソッドを追加しました
#import "StringUtils.h"
@implementation StringUtils
+ (NSString *)testString:(NSString *)string {
return [@"MQTestFramework: " stringByAppendingString:string];
}
@end
复制代码
次のプロジェクトの設定:
1、唯一のパラメータがNOに設定されているアクティブ・アーキテクチャを構築するビルド設定
図2に示すように、ビルドのMach-Oタイプ静的ライブラリのパラメータを設定提供される(構成静的、動的)
3、アーキテクチャでarmv7s増加を設定するパラメータ設定ビルド
4、公共のニーズやビルドフェーズにおけるヘッダファイルを非表示にする必要性を設定します
図5は、ヘッダファイルに導入されますMQTestFramwork
(独自のSDKのヘッダファイル)
Command + B
プロジェクトを実行し、
Product
検索します
framework
####カプセル化された使用してフレームワーク
.framework
プルプロジェクトが必要です
パッケージ機能を使用してください
実行します。
ます。https://juejin.im/post/5cf8ad416fb9a07ee063073aで再現