iOS Bundle的生成和使用

2021-08-14 22:18:10 字數 2101 閱讀 6112

他問~「你會打包成bundle嗎?」

「啊?我不會。」

「不會學啊,愣著幹嘛?」

「噢,抽時間吧。」

於是這篇文章在這個午休期間應運而生。

以下正文:

什麼是bundle檔案?

簡單理解,就是資源檔案包。我們將許多、xib、文字檔案組織在一起,打包成乙個bundle檔案。方便在其他專案中引用包內的資源。

bundle是靜態的,也就是說,我們包含到包中的資源檔案作為乙個資源包是不參加專案編譯的。也就意味著,bundle包中不能包含可執行的檔案。它僅僅是作為資源,被解析成為特定的2進製資料。

製作bundle

1.新建乙個工程macos的bundle專案

2.命名

3.刪除資料夾和info.plist檔案

4.刪除build settings裡的packaging的info.plist的檔案位址

5.設定base sdk為ios

6.新增要打包的資源檔案進到資料夾

7.我新增了一張

8.編譯,然後找到下圖的按鈕開啟資料夾

9.找到bundle檔案,右鍵顯示包內容,檢視是否將資源檔案加入其中

10.檢查無誤之後,將bundle拷貝到ios專案中

11.開始使用

這是一種方法,還有其他方法。

nsstring * bundlepath = [[ nsbundle

mainbundle] pathforresource: @ "mybundle"

oftype :@ "bundle"];

nsbundle *resourcebundle = [nsbundle

bundlewithpath:bundlepath];

uiviewcontroller *vc = [[uiviewcontroller

alloc] initwithnibname:@"vc_name"

bundle:resourcebundle];

或者uiimageview

*imgview=[[

uiimageview alloc] initwithframe:cgrectmake(50,

50,50,

50)];

uiimage

*image_1=[

uiimage imagewithcontentsoffile:imgpath];

[imgview setimage:image_1];

或者預編譯

#define mybundle_name @ "mybundle.bundle"

#define mybundle [nsbundle bundlewithpath: mybundle_path]

iOS Bundle使用說明

1.bundle是什麼 2.bundle怎麼用 3.私有庫中bundle怎麼用 看到有兩種用法 方法一 nsbundle getyxutilitybundle 方法二 yxfudaomodule也是系統中的乙個私有庫 define kbundleurl nsbundle bundleforclass...

jsoncpp的生成和使用

在執行 jsoncpp master makefiles msvc2010目錄下jsoncpp.sln 會有3個專案 執行lib json專案生成lib json.lib。這個靜態庫就是我們想要的。這裡要注意的是 執行lib json專案前要設定一下c c 生成 執行庫以便生成不一樣的lib檔案 如...

jsoncpp的生成和使用

在執行 jsoncpp master makefiles msvc2010資料夾下jsoncpp.sln 會有3個專案 執行lib json專案生成lib json.lib。這個靜態庫就是我們想要的。這裡要注意的是 執行lib json項眼下要設定一下c c 生成 執行庫以便生成不一樣的lib檔案 ...