天天看點

iOS 打包.a檔案

1、建立一個 framework&library 庫。IOS 下的 cocoa touch static library。然後輸入 product name 為 libsql

iOS 打包.a檔案

2、把libsql.h 和libsql.m删除。導入ocsqlite.h和ocsqlite.c

iOS 打包.a檔案

3、修改scheme,設為release版本

iOS 打包.a檔案

4.

選譯 ios device 編譯運作。成功後将在目錄的 build/products/release-iphoneos/下産生一個 liblibsql.a 檔案。注,這裡産生的是真機使用的.a 檔案。

選擇iphonesimulator 進行編譯一次,同樣會在 build/products/release-iphonesimulator/下産生一個liblibsql.a 檔案。裡是虛拟機使用的.a 檔案。

面來看一下這兩個檔案有什麼不同之處,使用 lipo -info 指令。開終端。

入到相應的目錄。進入相應目錄。

真機的:liblibsql.a 檔案資訊。

input file liblibsql.a is not a fat file

Non-fat file: liblibsql.a is architecture: armv7 

如圖:

iOS 打包.a檔案

模拟器的:liblibsql.a 檔案資訊。 

input file liblibsql.a is not a fat file

Non-fat file: liblibsql.a is architecture: i386 

如圖:

iOS 打包.a檔案

如果使用真機和模拟器通用,則需要将這兩個檔案合并,使用指令 lipocreate xxxx/liblibsql.a xxxxx/liblibsql.a -output libsql.a

同樣可以使用 lipo -info 來檢視這個合并的 libsql.a

可以看到 architectures in the fat file: libsql.a are: i386 armv7

iOS 打包.a檔案

OK,cheers,打包完成。