iOS-導入靜態庫(毫不報錯)

.a 靜態庫的建立

  1. 新建工程,選擇 Static Library

image.png

  1. 建立測試的方法,我這裏選擇建立類方法,代碼以下
//  Tool.h
@interface Tool : NSObject
+(void)testLog;
@end


//  Tool.m
@implementation Tool
+(void)testLog{
    NSLog(@"測試靜態庫");
}
@end
複製代碼

寫入代碼後,Command + B 編譯,能夠看到Products文件下的.a文件由紅色變爲黑色markdown

image.png

  1. 如圖所示進入Copy Files下,添加暴露文件,這裏我添加的是Tool.h頭文件

image.png

  1. 選擇架構

在選擇本身想要的設備下,這裏我選擇的是本身的真機架構

image.png

Build Active Architecture Only 選擇 No測試

image.png

Command + B 再次編譯ui

⚠️注意:選擇真機下編譯那麼對應的就是真機的適應架構,若是你想要模擬器的架構,就選擇在模擬器下進行編譯生成.a文件spa

  1. 點擊.a文件,右鍵打開文件目錄

image.png

image.png 這個文件目錄很重要!debug

(這裏說一下剛剛說的真機和模擬器的區別,本身去嘗試了以後發現兩個的文件目錄都會是不同的,這裏只作展現,接下來仍是用的真機目錄下的靜態庫)3d

image.png

以上是建立靜態庫的過程,下面是如何在新建的工程下導入咱們剛剛建立的靜態庫code

.a 靜態庫的導入

  1. 新建一個App工程

image.png

  1. 將剛剛的include文件和.a文件直接拖入到咱們的工程中

image.png

image.png

  1. 複製include文件和.a文件,注意這裏是複製!!!不要直接拖,上面那步是直接拖到Xcode中

show in finder進入文件目錄orm

image.png

兩個文件粘貼進去 (你若是是拖入的話那原來靜態庫的文件就會沒有文件了,因此必定要是複製粘貼!)it

image.png

  1. 刪除原來的lib

image.png 將這時候的lib刪除,從新導入

image.png

選擇當前工程文件下的.a

image.png

此時Command + B 沒有問題

  1. 寫入代碼,進行測試

image.png

  1. 運行,沒有問題

image.png

.framework靜態庫的建立

  1. Command + Shift + N 建立 Framework

image.png

好多要設置的,別急別急,一個個來 2. 選擇iOS版本,這裏我選擇的是12.1(根據本身的狀況選擇就能夠了)

image.png

image.png

  1. Build Active Architecture Only 選擇 No

image.png

  1. 設爲靜態庫

image.png

  1. 建立類方法
//  Honey.h

@interface Honey : NSObject
+(void)testBaby;
@end


//  Honey.m

@implementation Honey
+(void)testBaby{
    NSLog(@"測試靜態庫framework");
}
@end
複製代碼
  1. 選擇設備

注意這裏仍是真機就真機,模擬器就模擬器,模擬器和真機的架構不同 這裏我選擇的是真機

image.png

  1. 選擇Scheme,就是Debug或者是Release

image.png

image.png

這裏選擇debug或者release,我選擇的是release

image.png

  1. 選擇暴露文件

首先在HoneyFramework.h中導入Honey.h

image.png

而後拖動文件

image.png

拖完後如圖所示

image.png

  1. 編譯,查看文件

show in finder轉到文件目錄

image.png

image.png

到這裏咱們的靜態庫就已經建立完成啦~

.framework靜態庫的導入

不知道爲何個人framework沒有子目錄

  1. 新建工程

image.png

  1. 拖入framework到工程下

image.png

  1. 進入到工程文件的目錄下

image.png

  1. 拷貝framework文件夾到工程文件目錄下

image.png

image.png

  1. 刪除原來就有的該framework,導入新的

image.png

image.png

image.png

導入完成

image.png

  1. command + B 編譯沒有問題

  2. 測試方法

image.png

如下兩種方式導入均可以

#import <HoneyFramework/HoneyFramework.h>
#import "HoneyFramework.framework/Headers/Honey.h"
複製代碼
  1. 運行,打印結果無問題

image.png

相關文章
相關標籤/搜索