一玻熙、項(xiàng)目搭建
-
創(chuàng)建一個(gè)ios項(xiàng)目
-
為了方便可以通過(guò)修改包而修改應(yīng)用的圖標(biāo)涧黄,項(xiàng)目架構(gòu)中纺棺,需要單獨(dú)出來(lái)圖標(biāo)文件 eg:icon@2x.png ,icon@3x.png
(1)項(xiàng)目架構(gòu)設(shè)置
(2)配置文件修改:方便可以修改應(yīng)用圖標(biāo)
二叨恨、ipa包修改
1.準(zhǔn)備工作携栋,準(zhǔn)備需要重簽名的證書(shū)--具體可以去蘋(píng)果開(kāi)發(fā)者里面生成證書(shū)(此處不做介紹)搭盾,并修改名字為embedded.mobileprovision 和 Entitlements.plist文件(下面介紹,用于重簽名信息配置).
2.獲取生成的ipa包并解壓
(1)在終端獲取到ipa包的路徑
命令: cd xxxx/xxx/xx eg:cd /Users/mzou/Desktop/
(2) 解壓ipa包
命令: unzip xxxx.ipa eg: unzip TestProject.ipa
3.進(jìn)入解壓ipa包后生成的Payload文件夾中并查看xxx.app包內(nèi)容刪除相關(guān)的配置文件和替換證書(shū)
(1)進(jìn)入xxx.app包里面
命令:cd xxxx.app eg:TestProject.app
(2)刪除_CodeSignature文件(原簽名配置文件)
命令: rm -rf _CodeSignature
(3)替換原有的證書(shū)文件
先刪除原有的證書(shū)文件:rm – rf embedded.mobileprovision
然后拷貝已下載后的證書(shū)文件(已改名的證書(shū)文件)
cp xxxxxx.mobileprovision xxxx/xxx/Payload/TestProject.app
mv xxxxxxx. mobileprovision embedded.mobileprovision // (改名)
4.創(chuàng)建entitlements.plist 婉支,并且配置開(kāi)發(fā)環(huán)境
(1)先創(chuàng)建xml文件
命令:touch entitlements.xml
(2):編輯xml文件鸯隅,添加如下文件
命令:vim entitlements.xml
進(jìn)入后,按i進(jìn)行編輯向挖,配置以下文件
編輯內(nèi)容:
<?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>application-identifier</key>
<string>XXXXXXXX</string>
<key>com.apple.developer.team-identifier</key>
<string>XXXXXX</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>XXXXXX</string>
</array>
</dict>
</plist>
編輯完后蝌以,保存文件退出。
命令何之,先esc ->:wq
(3)編輯完xml文件后饼灿,把xml文件轉(zhuǎn)成plist文件
命令: mv entitlements.xml entitlements.plist
5.修改info文件
5.1:先把Info.plist 轉(zhuǎn)成xml文件
命令:mv Info.plist Info.xml
5.2:然后通過(guò)vim進(jìn)行修改info.xml文件
命令:vim Info.xml
5.3必須修改Bundle ID
介紹以下常用的key
<key>CFBundleDisplayName</key> //應(yīng)用安裝后展示的應(yīng)用名稱
<key>CFBundleName</key> //應(yīng)用名稱,當(dāng)不設(shè)置DisplayName時(shí)顯示
<key>CFBundleIdentifier</key> //應(yīng)用BundleID ,必須與證書(shū)一致
<key>CFBundleShortVersionString</key> //應(yīng)用短版本號(hào)
<key>CFBundleVersion</key> //應(yīng)用版本號(hào)
修改完成后帝美,保存修改的文件碍彭,然后把xml文件重命名為plist文件
命令:mv Info.xml Info.plist
6.修改應(yīng)用圖標(biāo)和啟動(dòng)圖片(需要的可進(jìn)行修改)
通過(guò)命令,查看包里面的文件:
命令:ls – al
查看本地文件的悼潭,如上圖所示庇忌,只需要把需要替換的圖片和尺寸一致,然后改相同的名稱進(jìn)行替換 (copy替換)舰褪,此時(shí)即可---應(yīng)用圖標(biāo)的替換皆疹,必須項(xiàng)目如步驟一的項(xiàng)目配置一致,否則不能修改成功
三占拍、重簽名
1.以上文件修改完成之后略就,返回Payload文件所在的路徑
命令 cd ..
2.通過(guò)命令進(jìn)行重簽名(必須有xcode的環(huán)境才能重簽名成功捎迫,服務(wù)器端重簽名的需要安裝相關(guān)的環(huán)境,此處不介紹)表牢。
命令:codesign -f -s "XXXX" --entitlements entitlements.plist entitlements.plist
當(dāng)出現(xiàn)以下的信息時(shí)候窄绒,證明簽名成功:
此時(shí)包里面出現(xiàn)已重新簽名的信息
注:如果出現(xiàn)其他信息,建議檢查步驟或重新配置
四:打包重簽名后的ipa包
1.先返回Payload所在的上一層路徑
命令:zip -r xxx.ipa Payload eg: zip -r 測(cè)試應(yīng)用.ipa Payload
2.打包完成后崔兴,可通過(guò)手機(jī)或者蒲公英等第三放應(yīng)用托管平臺(tái)檢測(cè)彰导。
大千世界,求同存異敲茄;相遇是緣位谋,相識(shí)是份,相知便是“猿糞”(緣分)
From MZou