日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ios中静态库的创建和使用、制作通用静态库(Cocoa Touch Static Library)

發布時間:2024/1/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios中静态库的创建和使用、制作通用静态库(Cocoa Touch Static Library) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?創建靜態庫可能出于以下幾個理由:

1.你想將工具類代碼或者第三方插件快捷的分享給其他人而無需拷貝大量文件。
2.你想讓一些通用代碼處于自己的掌控之下,以便于修復和升級。
3.你想將庫共享給其他人,但不想讓他們看到你的源代碼

?

Xcode6創建靜態庫詳解(Cocoa Touch Static Library)

?

一。創建靜態庫文件

打開Xcode, 選擇File ----> New ---> Project。 新建工程。

選擇iOS ----> Framework & Library ---> Cocoa Touch Static Library。

點擊Next。創建工程

?

?

?

工程目錄:

?

在頭文件StaticTest1.h中聲明方法

#import <Foundation/Foundation.h>@interface StaticTest1 : NSObject-(void)testStaticLib;@end

  

?

在StaticTest1.m中實現方法

#import "StaticTest1.h"@implementation StaticTest1-(void)testStaticLib {NSLog(@"This is a static library test"); }@end

  

二。創建通用靜態庫

通過xcode編譯出的靜態庫.a文件因為支持的cpu架構不同而分為iOS Device真機(armv7 arm64), iPhone5(i386),iPhone5s(x86_64)等版本,各個版本的.a文件不能混用,為了解決這個問題需要制作通用的靜態庫文件

?

依次使用iOS Device -> iPhone5 ->iPhone5s在Products目錄下生成libStaticTest1.a文件(文件名從紅色變為黑色既為編譯成功),必須先編譯iOS Device的.a文件,不然可能編譯不通過

?

通過右鍵.a文件->show in finder 找到文件libStaticTest1.a,依次重命名libStaticTest1s.a,libStaticTest15.a,libStaticTest15s.a, 名字可以隨意

?

使用mac下的終端命令行工具執行合并語句

lipo -create /Users/outeki/Desktop/libStaticTest1s.a /Users/outeki/Desktop/libStaticTest15s.a /Users/outeki/Desktop/libStaticTest15.a -output /Users/outeki/Desktop/test.a 文件路徑可以隨意放置,我將文件都放在了桌面上方便寫合并語句,注意三個文件路徑都用空格分開,/Users/outeki/Desktop/test.a既為生成的通用靜態庫文件

?

如果你不知道每個.a文件支持的系統,可以通過lipo -info命令行來查看具體信息

lipo -info /Users/outeki/Desktop/libStaticTest1s.a

  

?如果需要將通用靜態庫分離成各個版本的靜態庫,可以參考文章?http://www.cnblogs.com/wengzilin/p/3800856.html

三。使用靜態庫

新建一個ios項目,并創建lib文件夾,將頭文件StaticTest1.h和test.a文件加入項目

?

在ViewController.m中import頭文件,即可使用頭文件中定義的方法了

#import "ViewController.h" #import "StaticTest1.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];StaticTest1 *test = [[StaticTest1 alloc] init];[test testStaticLib];}@end

  

測試輸出:

?

四.知識補充

到此靜態庫的介紹基本結束,如果你想自定義靜態庫的頭文件,可以在靜態庫工程中新建一個新的.h頭文件,用其替換掉copy file中配置的默認.h頭文件

添加Public.h頭文件

?

在public.h中引入可以公開的頭文件

#import "StaticTest1.h"

  

在配置文件Build Phases ->Copy File中修改公共接口文件 (Xcode5以前是Copy Header)

?

Command+R執行工程即可得到對應的.h和.a文件

?

?

?

如何使用workspace管理靜態庫源碼和原生app代碼將在下一篇討論

轉載于:https://www.cnblogs.com/anywherego/p/3934648.html

總結

以上是生活随笔為你收集整理的ios中静态库的创建和使用、制作通用静态库(Cocoa Touch Static Library)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线看91| 日本黄色片在线播放 | 黄色片网站在线播放 | 日韩毛片基地 | 亚洲aⅴ在线 | 欧美做爰全过程免费观看 | 成人短视频在线播放 | 91精品小视频| 三级av网 | 亚欧美视频 | 邻居少妇张开腿让我爽了在线观看 | av新天堂 | 国产精品区二区三区日本 | 国产主播精品 | 亚洲欧美日韩在线不卡 | youjizz亚洲| 乖女从小调教h尿便器小说 欧美韩一区二区 | 精品国偷自产一区二区三区 | 国模在线视频 | 国产精品久久久久91 | 97av视频 | www操操操 | 欧美αv| 日韩精品一 | 欧美成人一区二区在线 | 天美麻花果冻视频大全英文版 | 久久久老熟女一区二区三区91 | 岛国一区| 黑人操日本女优 | 一起草在线视频 | 中国精品一区二区 | 日韩精品系列 | 91久久精品国产91久久性色tv | 天堂视频免费看 | 天天操你| 亚洲综合激情在线 | 色婷婷久久一区二区三区麻豆 | 色骚网| 国产成人综合欧美精品久久 | 亚洲永久av | 黄页在线播放 | 久青草视频在线观看 | 免费在线性爱视频 | 国产精品视频免费网站 | 天降女子 | 91操碰| 亚洲porn| av黄色影院| 天堂av网手机版 | 国精产品一区一区三区有限公司杨 | 欧美日韩你懂的 | 李华月全部毛片 | 精品国产视频一区二区三区 | 咪咪av| 国产高清毛片 | 少妇激情视频 | 秋霞av一区二区三区 | 久久av导航 | 欧美瑟瑟 | 国产一区二区亚洲 | 久久精品6| 国产精品18久久久 | 开心激情五月婷婷 | 日本三级午夜理伦三级三 | 中国一极毛片 | 北条麻妃一二三区 | 99re在线| 少妇搡bbbb搡bbb搡小说 | 色狠久| 超碰网址 | 国产欧美一区二区三区视频在线观看 | 超碰伊人网| 亚洲区综合 | 日本少妇毛茸茸 | 青春草视频在线免费观看 | 国产视频xxx | 女人裸体免费网站 | 福利网站在线观看 | 一二三区在线播放 | 久久久夜色精品 | 午夜精品美女久久久久av福利 | 亚洲伦理天堂 | 寂寞少妇让水电工爽hd | 精品国产一区在线 | 天天操天天干天天爱 | 亚洲一二三区av | 国产毛片精品国产一区二区三区 | 国产精品自在线 | 日韩在线观看中文字幕 | 中文字幕巨乳 | 国产二区精品视频 | 贝利弗山的秘密在线观看 | 麻豆精品网站 | 污网站免费在线观看 | 国产无码精品一区二区 | 色呦呦官网| 影音先锋每日资源 | 亚洲性在线 | 美女张开双腿让男人捅 |