静的ライブラリと動的ライブラリの説明
1260 ワード
この記事では、静的ライブラリと動的ライブラリの違い、サポートされているプラットフォームアーキテクチャ、アーキテクチャの分割と統合、APP Storeのアップロード時に発生する可能性のある問題について説明します.
一、存在形式
静的ライブラリ:.aおよび.framework
ダイナミックライブラリ:.dylibおよび.framework
二、使用の違い
静的ライブラリ:リンクすると、静的ライブラリは実行可能ファイルに完全にコピーされ、複数回使用すると冗長コピーが多分割されます.
ダイナミックライブラリ:リンク時、コピーしないで、プログラムの実行時にシステムからメモリにロードして、プログラムの呼び出しに供して、システムは一回だけロードして、複数のプログラムは共用して、メモリを節約します.
三、iOSのアーキテクチャ
シミュレータ:
CPUアーキテクチャ
モデル
i386
iPhone4s-iPnone5
x86_64
iPhone5s-iPhone X
本物:
CPUアーキテクチャ
モデル
armv7
iPhone3s-iPhone4s
armv7s
iPhone5-iPhone5c
arm64
iPhone5s-iPhone X
四、terminal静的ライブラリがサポートするフレームワークを表示する
Lipo-info静的ライブラリ名
Lipo-info frameworkのバイナリファイル名
五、動的ライブラリの架設条件を参照する
1、iOS 8.0の最低サポート
2、i 386、x 86を削除する必要がある64アーキテクチャパッケージ、削除しないとビルド・バージョンがエラーになります
六、例
ループSDKを例に、アーキテクチャパッケージの取り外しと生成方法
cdからpodsフォルダの具体的な3つの.frameworkディレクトリの下で、以下の命令を実行します.
一、存在形式
静的ライブラリ:.aおよび.framework
ダイナミックライブラリ:.dylibおよび.framework
二、使用の違い
静的ライブラリ:リンクすると、静的ライブラリは実行可能ファイルに完全にコピーされ、複数回使用すると冗長コピーが多分割されます.
ダイナミックライブラリ:リンク時、コピーしないで、プログラムの実行時にシステムからメモリにロードして、プログラムの呼び出しに供して、システムは一回だけロードして、複数のプログラムは共用して、メモリを節約します.
三、iOSのアーキテクチャ
シミュレータ:
CPUアーキテクチャ
モデル
i386
iPhone4s-iPnone5
x86_64
iPhone5s-iPhone X
本物:
CPUアーキテクチャ
モデル
armv7
iPhone3s-iPhone4s
armv7s
iPhone5-iPhone5c
arm64
iPhone5s-iPhone X
四、terminal静的ライブラリがサポートするフレームワークを表示する
Lipo-info静的ライブラリ名
Lipo-info frameworkのバイナリファイル名
五、動的ライブラリの架設条件を参照する
1、iOS 8.0の最低サポート
2、i 386、x 86を削除する必要がある64アーキテクチャパッケージ、削除しないとビルド・バージョンがエラーになります
六、例
ループSDKを例に、アーキテクチャパッケージの取り外しと生成方法
cdからpodsフォルダの具体的な3つの.frameworkディレクトリの下で、以下の命令を実行します.
1. armv7
lipo HyphenateLite -thin armv7 -output HyphenateLite_armv7
2. armv64
lipoHyphenateLite -thin armv64 -output HyphenateLite_arm64
3. , armv7 armv64
lipo -create HyphenateLite_armv7 HyphenateLite_arm64 -output HyphenateLite
4. HyphenateLite_armv7 HyphenateLite_arm64