shell 批量修改iOS plist權(quán)限

一個(gè)工程朋鞍,會(huì)存在很多的target 我們工程項(xiàng)目里有20-30個(gè)targets 每次修改/添加權(quán)限工作十分繁瑣且無(wú)任何價(jià)值,所以萌生了批量修改plist的想法

邏輯:

- 邏輯:遍歷info.plist所在的文件夾里的所有plist文件,首先判斷是否有相同的key存在,如果有則把value替換為新的髓废,不存在則添加key和value
- 1.0版本只能1次修改所有plist的一個(gè)key,下次再優(yōu)化可配置多個(gè)key

用法

前期準(zhǔn)備:
1. 需將readFile.sh和changePlist.sh放在同一個(gè)目錄下
2. 修改changePlist.sh 文件里的配置
   * A值是為了定位寫入權(quán)限的位置,我選取的key為相機(jī)的key,這里可以換為plist里已存在權(quán)限key的名稱
   * B為要添加/替換的key名稱
   * C為要添加/替換的value

使用:
1. cd 到readFile.sh根目錄
2. ./build readFile.sh  plist文件目錄(所有plist文件都在同一個(gè)目錄下)

readFile.sh

B="-info.plist"           #關(guān)鍵字
for file in `ls $1`       #注意此處這是兩個(gè)反引號(hào)该抒,表示運(yùn)行系統(tǒng)命令
do
if [[ $file == *$B* ]]
then
./changePlist.sh $1"/"$file
fi
done

changePlist.sh

A="<key>NSCameraUsageDescription</key>"
B="<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>" #要添加/替換的key名稱
C="<string>用來(lái)獲取您的位置完成更好的考勤簽到服務(wù)</string>"        #要添加/替換的key Value
count=1
addCount=0;
sameCount=0
while read line
do
if [ "$line" = "$B" ];then        #判斷是否存在相同的key
sameCount=$[count+1]
count=$[count+1]
elif [ "$line" = "$A" ];then      #判斷添加權(quán)限的位置
addCount=$[count+1]
count=$[count+1]
else
count=$[count+1]
fi
done < $1
if [ "$sameCount" -eq 0 ];then
if [ "$addCount" -eq 0 ];then
echo "沒(méi)有相同"
echo "添加位置 $count"
gsed -i "$addCount a\ $B" $1
addCount=$[addCount+1]
gsed -i "$addCount a\ $C" $1
else
echo "沒(méi)有找到相應(yīng)位置添加 $1"
fi
else
echo "存在相同 替換value $sameCount"
gsed -i "$sameCount c $C" $1
fi

tips

gsed為Mac下安裝gnu-sed后的用法壳猜,Mac與linux下的sed語(yǔ)法存在許多不同碳抄,相同的語(yǔ)法在mac環(huán)境下會(huì)報(bào)錯(cuò),遂用gnu-sed
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市倾鲫,隨后出現(xiàn)的幾起案子膛堤,更是在濱河造成了極大的恐慌垮媒,老刑警劉巖倔韭,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異芝此,居然都是意外死亡憋肖,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門婚苹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)岸更,“玉大人,你說(shuō)我怎么就攤上這事租副∽浚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵用僧,是天一觀的道長(zhǎng)结胀。 經(jīng)常有香客問(wèn)我,道長(zhǎng)责循,這世上最難降的妖魔是什么糟港? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮院仿,結(jié)果婚禮上秸抚,老公的妹妹穿的比我還像新娘速和。我一直安慰自己,他們只是感情好剥汤,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布颠放。 她就那樣靜靜地躺著,像睡著了一般吭敢。 火紅的嫁衣襯著肌膚如雪碰凶。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,549評(píng)論 1 312
  • 那天鹿驼,我揣著相機(jī)與錄音欲低,去河邊找鬼。 笑死畜晰,一個(gè)胖子當(dāng)著我的面吹牛砾莱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凄鼻,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼腊瑟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了野宜?” 一聲冷哼從身側(cè)響起扫步,我...
    開(kāi)封第一講書(shū)人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎匈子,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體闯袒,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虎敦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了政敢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片其徙。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖喷户,靈堂內(nèi)的尸體忽然破棺而出唾那,到底是詐尸還是另有隱情,我是刑警寧澤褪尝,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布闹获,位于F島的核電站,受9級(jí)特大地震影響河哑,放射性物質(zhì)發(fā)生泄漏避诽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一璃谨、第九天 我趴在偏房一處隱蔽的房頂上張望沙庐。 院中可真熱鬧鲤妥,春花似錦、人聲如沸拱雏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铸抑。三九已至垂券,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間羡滑,已是汗流浹背菇爪。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柒昏,地道東北人凳宙。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像职祷,于是被迫代替她去往敵國(guó)和親氏涩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容