在設(shè)置中灰署,展示自定義內(nèi)容速客,如下圖INFO區(qū)域內(nèi)容:
步驟:
1.在項(xiàng)目中添加Settings.bundle文件
Root.plist和Root.plist的Source code如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Title</key>
<string>Info</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>-</string>
<key>Key</key>
<string>version_preference</string>
<key>Title</key>
<string>Version</string>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>-</string>
<key>Key</key>
<string>build_preference</string>
<key>Title</key>
<string>Build</string>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>-</string>
<key>Key</key>
<string>githash_preference</string>
<key>Title</key>
<string>Git</string>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
3.編輯腳本吨艇,設(shè)置Settings.bundle的值
#獲取Version
Version=$(/usr/libexec/PlistBuddy -c"Print CFBundleShortVersionString""${PROJECT_DIR}/${INFOPLIST_FILE}")/usr/libexec/PlistBuddy -c"Set :PreferenceSpecifiers:1:DefaultValue ${Version}""${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.plist"
#獲取Build
Build=$(/usr/libexec/PlistBuddy -c"Print CFBundleVersion""${PROJECT_DIR}/${INFOPLIST_FILE}")/usr/libexec/PlistBuddy -c"Set :PreferenceSpecifiers:2:DefaultValue ${Build}""${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.p
list"
#獲取Git當(dāng)前git SHA1值
Git=`git rev-parse --shortHEAD | awk'{print $1}'`/usr/libexec/PlistBuddy -c"Set :PreferenceSpecifiers:3:DefaultValue ${Git}""${PROJECT_DIR}/${PROJECT_NAME}/Settings.bundle/Root.plist"
4.配置項(xiàng)目腳本
1.路徑:Target -> 項(xiàng)目名字 -> Build Phases
2.如果沒有Run Script就在該區(qū)域左上角+來增加与斤;
3.將步驟3的腳本復(fù)制到如下區(qū)域网持。
ok! 完成!
另:
plist文件的Item主要有六種類型画切,分別是:Group竣稽、Multi Value、Slider槽唾、Text Field丧枪、Title、Switch庞萍;
Group代表分組樣式拧烦。
Multi Value代表該項(xiàng)有子菜單可供選擇。
Slider代表滑塊效果钝计。
Text Field輸入框效果恋博。
Title 顯示標(biāo)題。
Switch 顯示開關(guān)私恬。
如果想達(dá)到類似效果债沮,只需參考上述類型并設(shè)置相關(guān)屬性即可。