今天使用 hbuilder 執行到 ios 真機的時候,突然發現還需要 ipa 簽名,這是什麼東東呢?
因蘋果公司禁止企業證書用於非企業內部開發者。所以開發者無法再使用DCloud的企業證書籤名的標準執行基座。
執行標準基座到iOS真機裝置前,需要使用開發者的證書對基座簽名後才能執行。
生成 ipa 簽名有兩種方式:
(1) 官網申請證書
在 apple 官網註冊 appleID ,申請開發者證書,然後在iOS標準基座簽名視窗,輸入Bundle ID、證書私鑰密碼、證書profile檔案、私鑰證書P12檔案,即可完成簽名。
(2) 使用愛思助手生成
在愛思助手內,匯入 ipa 檔案 + appleID 生成簽名檔案,匯入 hbuilder 安裝目錄下就ok了。
apple 官網申請證書有些麻煩,appleID 賬號登入成功之後,還需要填寫註冊時設定的安全校驗問題,註冊這麼久早都忘嘍,重新註冊個郵箱註冊 appleID 發現還不支援,頭大的不行了,乾脆使用愛思助手算了。
幫大家整理一個快捷生成 ipa 的詳細步驟:
(1) 下載一個愛思助手,並且將手機與電腦連線成功。開啟愛思助手,選擇工具箱,找到 IPA 簽名工具。
(2) 新增 ipa 檔案,找到 XHbuilder 的安裝目錄,選擇 plugins 資料夾,再找 launcher 資料夾,選擇 base 資料夾,選擇 iPhone_base.ipa 檔案。
具體目錄:HBuilderX\plugins\launcher\base\iPhone_base.ipa
(3) 使用 Apple ID 簽名,通過賬號密碼登入,手機連線電腦自動識別裝置Id。
(4) 選中 ipa 檔案和 appleID 生成簽名檔案
(5) 簽名成功後,找到簽名後的ipa檔案,並命名為iPhone_base_signed.ipa,然後將其拷貝到HBuilderX安裝目錄\plugins\launcher\base
(6) 完成上述操作之後,簽名就生成完成,可以在 XHbuilder 執行專案到 ios 手機了。
此時點選執行-》執行到手機或者模擬器-》執行到 IOS app基座:
此時連結手機就可以正常開始編譯,執行到手機上,執行半天之後提示安裝偵錯基座失敗
錯誤資訊提示:
開啟檔案服務失敗,請嘗試拔掉傳輸線後重新連線手機,或重啟手機再試(如果是IOS15.1以上的裝置,請確認基座版本號為3.3.2及以上)
07:30:33.442 標準基座真機執行不支援iPhone 5S/iPad mini2以下裝置,請使用自定義基座進行真機執行。
此時我們需要在手機端安裝 Hbuilder 偵錯基座,
點選開啟已簽名的 ipa 位置,選中生成的 iPhone_base.ipa 檔案雙機,就會出現 Hbuilder 安裝確認提示:
點選立即安裝,就會進入手機安裝Hbuilder 進度提示,如下圖:
安裝完成之後我們需要最後一步就可以正常執行到手機了。開啟手機設定-》通用-》裝置管理-》選擇開發者APP->信任Hbuilder。
至此,就可以正常執行到手機上了。小編第一次看見這些的時候看著官方檔案實操了一上午,最後以失敗而告終,所以幫大家整理了一下,希望不要像我一樣從入門到放棄。
小編寫的好簡單啊,看著教學都是這麼簡單,但是實操的時候,發現會經常報各種錯誤,讓人好心累,所以為大家整理下常見的問題。
(1) 提示,證書申請失敗!
(將滑鼠移動至紅色字型的位置。後面會出現一串這樣的英文提示。)
get +XcodeToken+err+SRP_Setp1+err:hsc=200+ec=-20101+au=+em=Your+account+information+was+entered+incorrectly。
這種情況說明 appleID 賬戶有問題,我們先重新登入以下 appleID 確認好密碼之後重新新增 appleID 賬戶再生成。
(2)賬戶密碼錯誤提示
get +XcodeToken+err+GetGsldmsToken+err:hsc=401+ec=-22406+au=+em=Your+Apple+ID+or+password+is+incorrect.
提示你賬戶或密碼不正確,請確認您的 apple Id 賬戶資訊。
(3)提示簽名失敗,錯誤碼44或 45 。
因 ipa 包構架問題導致無法進行簽名,可以嘗試下載未被改動過的原始iPA包重新簽名。
(4) get anisettedata failed.
這個有可能是電腦網路的原因:公司網路或校園網路。解決方法是:更換個人家庭網路或手機熱點。通常會有網路提示幫您自動切換。
(5) 啟動證書申請程序失敗。
這個是防毒軟體攔截了證書申請的程序,重啟電腦退出防毒軟體再重試。
(6) 出現這類證書申請失敗的提示:get teams err Teams =0.
原因是當前賬號獲取teams出錯,更換Apple ID賬號再去簽名即可。
(7) 出現這類證書申請失敗的提示:get XcodeToken err GetGsldmsToken err:hsc=434 ec=-22421 au=em=This action could not be completed. Try again.
或者這種提示:get +teams+err+1100+Your+session+has+expired.+Please+log+in.
然後這種提示:get +XcodeToken+err+RequestValidate+err;Http+Get+validate+vd+len;0+err;<nil>.
還有這種提示:
這四種情況的解決辦法是一樣的,按照這個檔案路徑 :C:\ProgramData\i4\i4tools\ipasign,刪除adi和cnf兩個資料夾即可。
(8) 這類證書申請失敗的提示:get +XcodeToken+err+MakeCPD+err;anisette+null+err;The+operation+couldn\U2019t+completed.+(AKAnisetteError+error+-8004.) .
這是電腦設定了代理伺服器,關閉即可。
(9) 簽名數量已達上限。
根據蘋果的規定,每個 Apple ID 在 7 天內只能為 10 個安裝包進行簽名,請更換 Apple ID 或 7 天后再試。
出現以上報錯,首先檢查 iTunes 是否為最新版本,確保為最新版後如果繼續報錯,請更換其他能正常登入使用的 Apple ID 來完成簽名。
(10) Apple ID 停用了。
證書申請失敗提示:
get XcodeToken err SRP_ Setp1 err:hsc=409 ec= -20209 au=iForgotAppleldLocked em=This Apple ID has been locked for security reasons. Visit iForgot to reset your account (https://iforgot.apple.com).
這個是蘋果ID停用了,去蘋果官網登入Apple ID,等彈窗提醒再去修改Apple ID 密碼即可。(不要去主動修改Apple ID密碼,不然無效。)
(1)ipa 生成簽名安裝應用的有效期為 7天,安裝之後的使用時間取決於證書的有效期,如果在有效期內被吊銷或者過了有效期,軟體將無法再次開啟。
(2)使用 apple id 生成的 ipa 檔案不可以直接發給別人使用,因為生成的 ipa 是個 apple id 簽名的應用裝置標識繫結著,所以別人使用時簽名無效。
(3)XHbuilder 升級之後,以前生成的 ipa 還可以使用嗎?不可以。