動態庫載入過程
1,將framework引入工程中比如Dylib.framework
2,設定target--->Build Phases--->Link Binary with Libraries,新增framework
3,設定target--->Build Phases---->Copy Bindle Resource,
4,新增Copy Files,
如圖:
5,設定Build Settings---->Linking----->Runpath Search Paths---->@executable_path
6,程式碼部分:
在使用的地方引入#import <Dylib/Dylib.h>
- (IBAction)bundleLoadAction:(id)sender {
NSLog(@"bundleLoadAction");
//NSString *documentsPath = [NSString stringWithFormat:@"%@/Documents/Dylib.framework",NSHomeDirectory()];
NSString*documentsPath = [NSStringstringWithFormat:@"%@/Dylib.framework",[[NSBundlemainBundle]bundlePath]];
[selfbundleLoadDylibWithPath:documentsPath];
}
- (void)bundleLoadDylibWithPath:(NSString*)path
{
_libPath= path;
NSError*err =nil;
NSBundle*bundle = [NSBundlebundleWithPath:path];
if([bundleloadAndReturnError:&err]) {
NSLog(@"bundle load framework success.");
}else{
NSLog(@"bundle load framework err:%@",err);
}
}
- (IBAction)trigerAction:(id)sender {
NSLog(@"trigerAction");
ClassrootClass =NSClassFromString(@"Person");
if(rootClass) {
idobject = [[rootClassalloc]init];
[(Person*)objectrun];
}
}
三個函式可看到效果。
相關文章
- DLL動態庫動態載入
- 使用dlopen載入動態庫
- QLibrary 載入動態庫
- Linux下的靜態庫、動態庫和動態載入庫Linux
- 作業系統動態庫呼叫過程作業系統
- html載入過程HTML
- 類載入過程
- runtime載入過程
- JVM類載入過程JVM
- 動態儲存過程儲存過程
- 載入動態連結庫——dlopen dlsym dlclose
- 啟動優化之動態庫延遲載入優化
- springboot引導上下文載入過程和配置載入過程Spring Boot
- Linux 中的靜態庫和動態庫簡介及生成過程示例Linux
- Android native層動態載入so庫Android
- 頁面載入全過程
- java類的載入過程Java
- 類的載入過程概述
- 整理類載入的過程
- EXECUTE IMMEDIATE 呼叫動態過程
- Oracle資料庫啟動過程及狀態詳解Oracle資料庫
- vue 動態載入元件Vue元件
- Java動態載入類Java
- 為.Net專案新增動態庫載入路徑
- web.xml 的載入過程WebXML
- 動態呼叫儲存過程 sample:儲存過程
- 資料庫啟動過程資料庫
- oracle11g啟動過程中載入配置檔案Oracle
- 請教JBoss能不能動態載入外部jar庫JAR
- C# 動態載入元件類庫,支援熱插拔元件C#元件
- 動態載入UserControl
- OrchardCore 如何動態載入模組?
- ListView動態載入資料View
- vue 動態載入組建Vue
- goloader - golang動態載入Golang
- 熱更新--動態載入frameworkFramework
- 動態載入APK原理分享APK
- 動態載入JS和CSSJSCSS