蘋果重簽名Apple iOS客戶端應(yīng)用程序以進(jìn)行企業(yè)分發(fā)

蘋果重簽名Apple iOS客戶端應(yīng)用程序以進(jìn)行企業(yè)分發(fā)

以下過程描述了如何重新簽名BMC Digital Workplace,以便可以將移動應(yīng)用程序部署到使用Apple iOS設(shè)備的最終用戶。重新簽名IOS客戶端必須在投入生產(chǎn)之前執(zhí)行。

在你開始之前

您必須是Apple Enterprise Program的成員才能從Apple Developer Portal獲得所需的開發(fā)工具。有關(guān)更多信息,請參見以下資源:

Apple企業(yè)計(jì)劃申請書-Apple要求您成為擁有DUNS編號的公司或組織。企業(yè)帳戶使您可以在內(nèi)部分發(fā)重新標(biāo)記的應(yīng)用程序。組織帳戶使您只能通過Apple商店分發(fā)應(yīng)用程序。

Apple Developer Portal?—包含用于開發(fā)Apple iOS應(yīng)用程序的開發(fā)工具和文檔。

管理團(tuán)隊(duì)?-介紹如何分配適當(dāng)?shù)膱F(tuán)隊(duì)角色。要完成以下過程,必須將團(tuán)隊(duì)代理角色分配給將創(chuàng)建證書的用戶。

維護(hù)您的簽名身份和證書?-提供有關(guān)證書的信息。

2.您必須安裝XCode和Apple根證書。

安裝Xcode和Apple根證書

您只需要執(zhí)行一次此過程。在重新簽名過程中,您需要Xcode開發(fā)人員工具來安裝權(quán)利文件。

在運(yùn)行MacOS的Apple計(jì)算機(jī)上,從App Store安裝免費(fèi)的Xcode。

Xcode不能在iPad,iPhone或其他iOS設(shè)備上使用。

安裝Apple根證書,如下所示:

轉(zhuǎn)到http://www.apple.com/certificate Authority /

下載Apple Inc.根證書。

雙擊該文件,然后將其安裝在“?鑰匙串”中(登錄)。

重新簽署Apple iOS客戶端應(yīng)用程序

執(zhí)行以下步驟以重新簽署Apple iOS應(yīng)用程序:

創(chuàng)建企業(yè)發(fā)行證書以重新簽署B(yǎng)MC Digital Workplace

為BMC Digital Worplace創(chuàng)建一個(gè)應(yīng)用程序組

為BMC Digital Workplace創(chuàng)建一個(gè)iCloud容器

為您的BMC Digital Workplace版本創(chuàng)建應(yīng)用程序ID和捆綁ID

編輯您現(xiàn)有的應(yīng)用程序ID或?qū)pp Group和iCloud添加到您的BMC Digital Workplace版本中

創(chuàng)建內(nèi)部分配配置文件

創(chuàng)建蘋果推送通知服務(wù)(APNS)證書

使用您的企業(yè)憑據(jù)重新簽署移動應(yīng)用程序

用您的APNS證書替換APNS證書

創(chuàng)建企業(yè)發(fā)行證書以重新簽署B(yǎng)MC Digital Workplace

您將使用此證書對BMC Digital Workplace iOS應(yīng)用程序進(jìn)行簽名。

以團(tuán)隊(duì)代理角色登錄到https://developer.apple.com/account/ios/certificate上的iOS Provisioning Portal?。

在“?證書”部分中,單擊加號(+)添加證書。

制作部分中,選擇內(nèi)部和臨時(shí)。

使用證書助手生成證書簽名請求(CSR)。

按照Apple在CSR屏幕上提供的說明進(jìn)行操作。

將CSR上傳到iOS Provisioning Portal,然后下載分發(fā)證書。

保存證書,然后使用“鑰匙串訪問”應(yīng)用程序?qū)⑵浯蜷_。

要將證書導(dǎo)出到其他版本,請將其保存為.p12格式:

在“?密鑰鏈訪問”中,轉(zhuǎn)到“?我的證書”部分。

右鍵單擊下載的證書,然后單擊導(dǎo)出。

將證書保存為.p12格式,并在需要時(shí)提供安全密碼。

為BMC Digital Workplace創(chuàng)建應(yīng)用程序組

使用團(tuán)隊(duì)代理角色,登錄到iOS Provisioning Portal。

在“?標(biāo)識符”部分中,單擊“?應(yīng)用程序組”選項(xiàng)卡。

單擊加號(+)添加新的標(biāo)識符。

在“?描述”字段中,鍵入一個(gè)名稱,該名稱將在門戶中輕松地為您標(biāo)識您的應(yīng)用程序(例如Calbro Digital Workplace Group)。

在“?ID”字段中,輸入唯一的組名(例如??group.com.companyName.DWP)。

點(diǎn)擊繼續(xù)

點(diǎn)擊注冊。

出現(xiàn)新的應(yīng)用程序組,如下圖所示:

為BMC Digital Workplace創(chuàng)建iCloud容器

使用團(tuán)隊(duì)代理角色,登錄到iOS Provisioning Portal。?

在“標(biāo)識符”部分中,單擊“?iCloud容器”選項(xiàng)卡。?

單擊加號(+)添加新的標(biāo)識符。?

在“?描述”字段中,鍵入一個(gè)名稱,該名稱將在門戶中輕松地識別您的應(yīng)用程序(例如Digital Workplace iCloud Container)。?

ID字段中,輸入一個(gè)唯一的組的名稱(例如,??iCloud中group.com.companyName.DWP)。

點(diǎn)擊繼續(xù)。

為您的BMC Digital Workplace版本創(chuàng)建應(yīng)用程序ID和捆綁ID

創(chuàng)建內(nèi)部分發(fā)配置概要文件中,您將需要應(yīng)用程序ID??。要使用您的企業(yè)憑據(jù)重新簽署移動應(yīng)用程序,您將需要提供捆綁軟件ID??。

使用團(tuán)隊(duì)代理角色,登錄到iOS Provisioning Portal。

在“??標(biāo)識符”??部分中,單擊“??應(yīng)用程序ID”??選項(xiàng)卡。

單擊加號(+)添加新的標(biāo)識符。

在“??描述”??字段中,輸入一個(gè)名稱,該名稱將在門戶中輕松地為您標(biāo)識您的應(yīng)用程序(例如??Calbro Digital Workplace)。

記下您將在重新簽名過程中使用的應(yīng)用程序ID前綴(團(tuán)隊(duì)ID)。

選擇??Explicit App ID,然后在Bundle ID??字段中輸入一個(gè)唯一標(biāo)識符??(例如??com.companyName.DWP)。

記下用于重新簽名過程的分發(fā)包ID。

在“?應(yīng)用程序服務(wù)”部分中,保留默認(rèn)設(shè)置,但要確保已選擇“關(guān)聯(lián)的域”,“推送通知”,“ iCloud”和“應(yīng)用程序組”。

對于??iCloud,選擇“??包括CloudKit支持??(需要Xcode 6)”選項(xiàng)。?

對于??數(shù)據(jù)保護(hù),??選擇??完全保護(hù)。

單擊??繼續(xù)。

要返回“?標(biāo)識符”列表,請單擊??“完成”

出現(xiàn)新的應(yīng)用程序ID,如下圖所示:

編輯現(xiàn)有應(yīng)用程序ID或?qū)pp Group和iCloud添加到您的BMC Digital Workplace版本中

使用團(tuán)隊(duì)代理角色登錄到iOS Provisioning Portal。

在“?標(biāo)識符”部分中,單擊“?應(yīng)用程序ID”選項(xiàng)卡。

選擇您的BMC Digital Workplace應(yīng)用程序ID(例如??com.companyName.DWP)。

點(diǎn)擊編輯。

點(diǎn)擊“?應(yīng)用程序組?”旁邊的選擇框。

當(dāng)提示您啟用應(yīng)用程序組時(shí),單擊確定

單擊“?應(yīng)用程序組”上的“?編輯?”?。

選擇為BMC Digital Workplace創(chuàng)建的應(yīng)用程序組(例如??group.com.companyName.DWP)。

點(diǎn)擊繼續(xù)

點(diǎn)擊分配。

單擊完成

單擊iCloud選項(xiàng)旁邊的“?編輯”。?

選擇上面創(chuàng)建的iCloud的容器(例如,??iCloud中。group.com.companyName.DWP)。

點(diǎn)擊繼續(xù)。

點(diǎn)擊分配

單擊完成。

創(chuàng)建內(nèi)部分配配置文件

您需要此配置文件才能將BMC Digital Workplace移動應(yīng)用程序部署到您的組織。

以Team Agent角色登錄到iOS Provisioning Portal。

在“?配置”部分中,單擊“?分發(fā)”選項(xiàng)卡。

單擊加號(+)添加新的配置文件。

在“創(chuàng)建iOS配置文件”頁面上,完成以下步驟:

對于“?分配方法”,選擇“內(nèi)部”。

選擇您創(chuàng)建的分發(fā)證書。

選擇您在為BMC Digital Workplace版本創(chuàng)建應(yīng)用程序ID中創(chuàng)建的應(yīng)用程序ID。

下載配置文件。

創(chuàng)建Apple Push Notification Service(APNS)證書

您需要此證書,以便移動應(yīng)用程序可以接收通知。

以Team Agent角色登錄到iOS Provisioning Portal。

在“?證書”部分中,單擊“?生產(chǎn)”選項(xiàng)卡。

在右上角,單擊加號(+)。

選擇“?Apple Push Notification Service SSL(生產(chǎn))”。

選擇您創(chuàng)建的應(yīng)用前綴ID(團(tuán)隊(duì)ID)。

使用證書助手生成證書簽名請求(CSR)。

按照Apple在CSR屏幕上提供的說明進(jìn)行操作。

雙擊證書以下載并導(dǎo)入到您的鑰匙串中。

用您的企業(yè)憑據(jù)重新簽署移動應(yīng)用程序

您可以通過以下任意一種方式使用您的企業(yè)憑據(jù)重新簽署移動應(yīng)用程序:

推薦)??通過使用iOS重新簽名和重新標(biāo)記實(shí)用程序,使用您的企業(yè)憑據(jù)重新簽名移動應(yīng)用程序

使用您的企業(yè)憑據(jù)手動重新簽署移動應(yīng)用程序

下列??視頻(3:36)展示了如何重新簽名移動應(yīng)用程序:?

用您的企業(yè)憑據(jù)重新簽署移動應(yīng)用程序?

以下過程提供了使用BMC Digital Workplace安裝隨附的iOS重新簽名和重新標(biāo)記實(shí)用程序重新簽名BMC Digital Workplace移動應(yīng)用程序的說明。

在Mac計(jì)算機(jī)上,安裝企業(yè)分發(fā)證書以重新簽署您之前創(chuàng)建的移動應(yīng)用程序。

在Mac計(jì)算機(jī)上,下載您先前創(chuàng)建的內(nèi)部分發(fā)配置文件。

將iOS重新簽名和更名實(shí)用程序Resign.dmg文件下載或復(fù)制??到Mac計(jì)算機(jī)。

該實(shí)用程序位于DigitalWorkplaceHome?\ DWP \ IPA \ download \ utils目錄中,其中DigitalWorkplaceHome??是安裝目錄。

打開Resign.dmg文件并運(yùn)行ResigningUtility.app應(yīng)用。

選擇BMC Digital Workplace應(yīng)用程序,然后單擊Next

選擇一個(gè)版本,然后單擊下一步。

創(chuàng)建一個(gè)新的重新簽名項(xiàng)目或打開一個(gè)現(xiàn)有的項(xiàng)目。如果要創(chuàng)建新項(xiàng)目,請?zhí)峁┮韵略敿?xì)信息:

項(xiàng)目名稱?-為重新簽名的項(xiàng)目提供一個(gè)名稱,例如DigitalResignDemo。

項(xiàng)目位置—在Mac計(jì)算機(jī)上選擇一個(gè)目錄來存儲項(xiàng)目。

該實(shí)用程序會創(chuàng)建一個(gè)項(xiàng)目文件,例如DigitalResignDemo.resign和項(xiàng)目目錄中的其他子目錄。

注意

您可以使用同一項(xiàng)目文件來重新簽名作為修補(bǔ)程序或新內(nèi)部版本提供的新xarchive文件。


轉(zhuǎn)到“?配置”選項(xiàng)卡,然后輸入所有必需參數(shù)的值,并為可選參數(shù)設(shè)置值(如果需要)。

該實(shí)用程序顯示每個(gè)參數(shù)的簡短描述。標(biāo)有星號(*)的參數(shù)為必填項(xiàng)。

(可選)執(zhí)行以下步驟以自定義視覺設(shè)計(jì)。有關(guān)說明,請參閱對Apple iOS客戶端應(yīng)用程序重新命名

注意

重新簽名和重新標(biāo)記在同一項(xiàng)目中完成。

從左窗格的項(xiàng)目列表中,導(dǎo)航到Projects>?projectName?>?Entitlements。在這里,projectName是您之前提供的項(xiàng)目的名稱,例如DigitalResignDemo

選擇MyIT.entitlements文件。

您可以在右窗格中預(yù)覽權(quán)利文件的內(nèi)容。

點(diǎn)擊打開進(jìn)入編輯和更新的價(jià)值觀??application-identifier和keychain-access-groups。

application-identifier用您的團(tuán)隊(duì)前綴和應(yīng)用ID?替換密鑰的值。

例如,取代ABCDE-ID?.com.bmc.bsmapps.MyIT與??TEAMBUNDLEID.com.companyName.DWP

將keychain-access-groups鍵值替換為您的團(tuán)隊(duì)前綴和應(yīng)用ID。

例如,用??TEAMBUNDLEID.com.companyName.DWP替換ABCDE-?ID.com.bmc.bsmapps.MyIT

注意

僅在第一次重新簽名特定版本的BMC Digital Workplace時(shí),才必須更新權(quán)利文件。每次重新簽名BMC Digital Workplace版本時(shí),都可以重復(fù)使用相同的權(quán)利文件。

從左窗格的項(xiàng)目列表中,導(dǎo)航到??Projects>?projectName??>?xcarchive> exportOptions.plist,然后?單擊??Open to Edit

輸入用于您的應(yīng)用程序的ProvisioningProfiles,??signingCertificate和??teamID參數(shù)的值??。

注意

請勿忘記替換代碼中的示例值,如下所示。如果要直接復(fù)制和粘貼代碼示例,也請記住刪除注釋。


{

compileBitcode = 0

method = enterprise

provisioningProfiles = {

com.bmc.testdistmyit = "TestDistMyITDist"; //example value, replace va

lue with profile value provided for app

}

signingCertificate = "iPhone Distribution: BMC Software, Inc." //example va

lue, replace value with enterprise certificate create earlier

signingStyle = manual

stripSwiftSymbols = 1

teamID = "M2H62N6SQK" //example value, replace value with team's ID

provided for app

thinning =

}

保存文件。

右鍵點(diǎn)擊項(xiàng)目名稱,然后點(diǎn)擊重新簽名

選擇以下項(xiàng)目:

用于重新簽名的xcarchive文件,并從中生成一個(gè).ipa文件。?

注意

BMC補(bǔ)救服務(wù)管理OnDemand客戶必須從EPD(位于BMC Digital Workplace??Basic Cloud??和BMC Digital Workplace??Advanced Cloud??產(chǎn)品的18.02.00版本下)下載BMC iOS Rebranding Utility版本18.02.00??xcarchive文件,并將其解壓縮。


您的企業(yè)證書,它是先前創(chuàng)建的。

您為企業(yè)證書創(chuàng)建的配置文件。

點(diǎn)擊重新簽名。在重新簽名項(xiàng)目目錄中的IPA子目錄中創(chuàng)建

一個(gè).ipa文件。向您的iOS用戶提供此.ipa文件,以安裝BMC Digital Workplace應(yīng)用程序。

使用您的企業(yè)憑據(jù)手動重新簽署移動應(yīng)用程序

此過程提供了手動重新簽名BMC Digital Workplace移動應(yīng)用程序的說明。

現(xiàn)在您可以重新簽名移動應(yīng)用程序了。您將使用dwp.ipa文件。

在終端應(yīng)用程序中,解壓縮dwp。通過輸入以下命令來創(chuàng)建ipa文件。將/path/?替換為系統(tǒng)上的特定路徑;例如,/User/bill/DWP-working/.

mkdir /path/DWP-ResignDir

cd /path/DWP-ResignDir

unzip –oq /path/dwp.ipa

通過輸入以下命令來清除以前的構(gòu)建文件:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

rm -rf ~/Library/Developer/Xcode/DerivedData

rm -rf ~/Library/Caches/com.apple.dt.Xcode

創(chuàng)建exportOptions.plist文件,然后單擊??打開以編輯

輸入??供應(yīng)配置文件,??signingCertificate和??teamID??參數(shù)的值。您可以在Apple Developer門戶中找到這些參數(shù)的值。

{

compileBitcode = 0

method = enterprise

provisioningProfiles = {

com.bmc.testdistmyit = "TestDistMyITDist";

}

signingCertificate = "iPhone Distribution: BMC Software, Inc."

signingStyle = manual

stripSwiftSymbols = 1

teamID = "M2H62N6SQK"

thinning =

}

在命令行中,運(yùn)行以下命令:


xcodebuild -exportArchive -archivePath dwp.xcarchive \

-exportPath ./dwp.ipa \

-exportOptionsPlist exportOptions.plist


使用以下命令重新簽署快速代碼dylib。替換BMC Software,Inc?。與您的組織名稱。

/usr/bin/codesign -f -s "iPhone Distribution: BMC Software, Inc." ./Payl

oad/MyIT.app/Frameworks/*.dylib

在Xcode中,在/?path / DWP-resign-ipa目錄中創(chuàng)建??MyIT.entitlements文件,并添加以下行。您可以下載MyIT.entitlements的副本以用作起點(diǎn)。

MyIT.Entitlements文件

<!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>ABCDE-ID.com.bmc.bsmapps.MyIT</string>

<key>aps-environment</key>

<string>production</string>

<key>get-task-allow</key>

<false/>

<key>keychain-access-groups</key>

<array>

<string>ABCDE-ID.com.bmc.bsmapps.MyIT</string>

</array>

</dict>

</plist>

在樣本權(quán)利文件中,執(zhí)行以下操作:

application-identifier用您的團(tuán)隊(duì)前綴和應(yīng)用ID?替換密鑰的值。

例如,取代ABCDE-ID?.com.bmc.bsmapps.MyITTEAMBUNDLEID.com?.companyName.DWP。

將keychain-access-groups?鍵值替換為??您的團(tuán)隊(duì)前綴和應(yīng)用ID。

例如,更換ABCDE-ID.com?.bmc.bsmapps.MyITTEAMBUNDLEID.com?.companyName.DWP

執(zhí)行以下步驟來自定義視覺設(shè)計(jì)。有關(guān)說明,請參閱對Apple iOS客戶端應(yīng)用程序重新命名。

將創(chuàng)建的配置文件放入??/ path / DWP-ResignDir?文件夾,然后將文件重命名為??MyIT.mobileprovision。有關(guān)說明,請參閱??創(chuàng)建內(nèi)部分配配置文件,??以獲取有關(guān)創(chuàng)建自己的配置文件的詳細(xì)信息。

導(dǎo)航到/ path / DWP-ResignDir?文件夾。

cd /path/DWP-ResignDir

/ path / DWP-ResignDir?文件夾中,執(zhí)行以下操作:

設(shè)置捆綁包ID(有關(guān)更多信息,請參閱Apple Developer Site),其中CompanyDomain您的域是反向DNS格式的域(例如com.acme),并且MYIT-APPNAME是BMC Digital Workplace的唯一內(nèi)部應(yīng)用程序名稱(例如Digital-Acme)):

/usr/libexec/PlistBuddy -c "Set CFBundleIdentifier CompanyDomain.MYIT-APPNAME"

./Payload/MyIT.app/Info.plist

設(shè)置在iOS設(shè)備上顯示的應(yīng)用程序名稱,其中ApplicationName是BMC Digital Workplace應(yīng)用程序的名稱(例如Digital WorkplaceAcme Digital Workplace):

/usr/libexec/PlistBuddy -c "Set CFBundleDisplayName ApplicationName" ./

Payload/MyIT.app/Info.plist

將默認(rèn)的BMC Digital Workplace服務(wù)器設(shè)置為BMC Digital Workplace服務(wù)器,其中SERVERBMC Digital Workplace服務(wù)器名稱(例如DWP.acme.com)為:

/usr/libexec/PlistBuddy -c "Set myit-server SERVER" ./Payload/MyIT.app/Info.plist

設(shè)置BMC Digital Workplace服務(wù)器的默認(rèn)端口,其中PORT是客戶端訪問服務(wù)器的TCP端口(例如80443):

/usr/libexec/PlistBuddy -c "Set myit-port PORT" ./Payload/MyIT.app/Info.plist

如示例所示,替換移動供應(yīng)文件:

cp "MyIT.mobileprovision" "./Payload/MyIT.app/embedded.mobileprovision"

刪除BMC代碼簽名,如示例所示:

rm -r "./Payload/MyIT.app/_CodeSignature"

發(fā)出以下命令以重新簽署IPA。替換BMC Software,Inc?與您的組織名稱。

/usr/bin/codesign -f -s "iPhone Distribution: BMC Software, Inc." -

-entitlements "./MyIT.entitlements" "./Payload/MyIT.app"

如示例所示,創(chuàng)建IPA zip文件:

zip -qr "DWP-rebranded.ipa" Payload

用您的APNS證書替換BMC Digital Workplace APNS證書

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容