模塊審核規(guī)范-iOS

2022-06-10 10:33 更新

1)、最外層目錄審核

模塊包的最外層目錄必須為該模塊的模塊名,如moduleDemo,然后使用zip壓縮工具將該目錄壓縮成zip格式文件。如下圖:

【**】如果模塊包不符合該規(guī)范,將導(dǎo)致該模塊不被編譯。

2)、子目錄或文件審核

iOS模塊包內(nèi)部最多只能包含以下幾項(xiàng),其中target和module.json為必需的,res、framework、localization目錄可選,大致如圖:

2.1、target 目錄審核:

該目錄為必需目錄。

1)、該目錄存放模塊庫(也可以是如.swift這種源文件)及模塊用到的其它第三方.a靜態(tài)庫、靜態(tài)framework庫,以及資源文件等。要檢查靜態(tài)framework和bundle文件里面是否有\(zhòng)Info.plist**文件,如果有,需要?jiǎng)h掉**,否則將導(dǎo)致應(yīng)用上傳不了AppStore。

2)、該目錄允許包含子目錄,但不能包含\widget、uz、UZEngine、UZModules**等目錄,也不能包含en.lproj、zh-Hans.lproj等多語言包目錄**。多語言包可以放置在localization目錄下。

3)、該目錄下不能包含引擎庫\libUZEngine.a*和*Info.plist**文件。**

2.2、res_模塊名 目錄審核:

該目錄為可選目錄,該目錄命名規(guī)范必須為“res_”開頭,后面跟模塊名。例如“res_moduleDemo”。

2.3、framework 目錄審核:

該目錄為可選目錄,該目錄下存放動(dòng)態(tài)類型的framework庫,注意動(dòng)態(tài)類型的framework庫里面的Info.plist文件不能刪掉,并且framework庫不能包含模擬器架構(gòu)。

2.4、.a靜態(tài)庫和framework庫審核:

所有的.a靜態(tài)庫和framework庫必須包含armv7、arm64架構(gòu),否則將導(dǎo)致編譯失敗或無法正常使用。對(duì)于比較大的庫,不能包含模擬器i386、x86_64架構(gòu),armv7s架構(gòu)由于在云編譯時(shí)使用不到也需要移除,否則庫文件過大,會(huì)影響編譯效率。

可以在mac終端里面使用lipo -info test.a的方式查看庫包含哪些架構(gòu)。

3)、module.json文件審核:

該文件的結(jié)構(gòu)為一個(gè)或者多個(gè)JSON對(duì)象,每個(gè)對(duì)象代表一個(gè)模塊(平臺(tái)允許一個(gè)模塊包中同時(shí)存放多個(gè)模塊的),如: 一個(gè)對(duì)象時(shí)的module.json配置:

{
    "name":"moduleDemo",
    "class":"UZModuleDemo",
    "methods":["method1", "method2"]
}

多個(gè)對(duì)象時(shí)的module.json配置,對(duì)象與對(duì)象之間以逗號(hào)隔開:

{
    "name":"moduleDemo1",
    "class":"UZModuleDemo1",
    "methods":["method1", "method2"]
},
{
    "name":"moduleDemo2",
    "class":"UZModuleDemo2",
    "methods":["method1", "method2"]
}

同時(shí)需要檢查一下module.json配置中,所有的字符是否均是半角的字符。

凡是不符合以上格式的,均須開發(fā)者做更改。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)