[英]Can I use Cordova to access the Library dir within my iPhone app's sandbox?
[英]can I use dynamic library(shared object) in my iphone app?
眾所周知,靜態庫可以在Iphone應用程序中很好地工作,並且您的應用程序可以很容易地被IOS App Store批准
不幸的是,我現在使用的兩個靜態庫有一些C函數和變量。
所以我將它們編譯成* .dylib(動態庫),並將它們復制到XCode中的“Bundle Resources”。
dylib_handle = dlopen(dylib_path_in_resource_bundle, RTLD_LAZY);
func = dlsym(dylib_handle, "func");
// invoke func();
這在模擬器和Ipad(當然,不同的動態庫)中運行良好。
我注意到有人說Iphone應用程序不支持任何第三方動態庫,我的應用程序將被拒絕。 (看這里)
但我仔細閱讀了“App Store評論指南”,我發現沒有任何項目符合我的問題。
我現在很困惑!
iphone應用程序是否支持動態庫? IOS AppStore是否允許這樣做?
誰能給我官方回復。
正如貝爾納多·拉莫斯在評論中所述:“自iOS8以來,我們可以使用動態庫”。
App Store不允許使用動態庫。 在運行時不能加載任何代碼。 答案是將它們轉換為靜態庫並將它們編譯到應用程序中。
來自iPhoneOSTechOverview:
“如果要將框架或動態庫中的代碼集成到應用程序中,則應在構建項目時將該代碼靜態鏈接到應用程序的可執行文件中。”
讀“應該”為“必須”
請參閱答案: 可以為iOS創建動態庫嗎?
不,不允許使用動態庫。
但是你可以創建靜態庫,甚至是“靜態框架”(就像經典框架一樣,是一個帶有“.framework”擴展名的文件夾,包含你的Headers,資源文件,如果有的話)和lib本身,除了你的lib必須是靜態庫)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.