パッケージ.iOSの静的ライブラリ

パッケージ.iOSの静的ライブラリ

単語数593 読書625 コメント3いい

1.新しい.a静的ライブラリプロジェクトを作成します

Static Library以下に示すように静的ライブラリプロジェクトテンプレートを選択して、新しいプロジェクトを作成する必要があります


新しい静的ライブラリプロジェクト


以下に示すように、パッケージ化する必要のあるクラスを実現します。


パッケージ化する必要のあるクラスを実装する

2.公開する必要のあるヘッダーファイルを設定します

追加Headersする手順は次のとおりです。- TARGET> Build Phases->ポイント+番号-> New Headers Phase、以下に示すように:



次にHeaers(0 items)、列を見つけて+以下に示すように、ドット番号でヘッダーファイルを追加します。



次に、Encryption.h以下に示すように、公開する必要のあるヘッダーファイル追加します。



追加が完了Encryption.hするとProject、列に表示されます。次にPublic示すように、手動で列にドラッグして公開する必要があります。



ドラッグインすると、次のようにPublic、のヘッダーファイルはパブリックヘッダーファイルになります。


3.スキームを設定します

Edit Scheme以下に示すように選択します。



Debug以下に示すようにモードを選択します。


4..a静的ライブラリのシミュレータバージョンをコンパイルします

以下に示すように、シミュレーターを選択します。



シミュレーターを選択した後、コンパイルを開始します。正常にコンパイルすると、以下に示すように、Products中央libEncryption.aが赤から黒に変わります。


5..a静的ライブラリの実マシンバージョンをコンパイルします

以下に示すように、実際のマシンを選択します。



実機を選択してコンパイルを開始します。正常にコンパイルすると、Products真ん中libEncryption.aが赤から黒に変わります。

6.アナログバージョンと実際のバージョンの静的ライブラリをマージします

以下に示すように、を選択しlibEncryption.a、右クリックして選択しShow in Finderます。



Finderに入ると、以下に示すように、コンパイルされたシミュレーターと.a静的ライブラリの実際のマシンバージョンが表示されます。



ターミナルを開き、コマンドラインを使用してバージョンをマージします。具体的な形式は次のとおりです。

lipo -create "真机版本.a静态库路径" "模拟器版本.a静态库路径" -output "合并后的.a静态库路径"


間にスペースが必要であることに注意してください。以下に示すように、ターミナルにコマンドラインを入力します。



ターミナルが正常に実行されると、以下に示すように、.a静的ライブラリのマージされたバージョンが生成されます。


7.静的ライブラリをテストします

新しいプロジェクトを作成するには、以下に示すように、プロジェクトにドラッグlibEncryption.aしてEncryption.hファイルします。


ヘッダーファイルをViewController.m導入しEncryption.hEncryption.h公開された暗号化メソッドを呼び出したViewController.mのコードは次のとおりです。

#import "ViewController.h"
#import "Encryption.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //调用Encryption中的加密方法
    NSLog(@"-----%@", [Encryption md5EncryptWithString:@"hello"]);

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

次の図に示すように、デバッグウィンドウは印刷情報を正常に出力します。


この時点で、.a静的ライブラリは終了です!

おすすめ

転載: blog.csdn.net/woruosuifenglang/article/details/53930881