這次要上架遇到好多錯誤訊息,記錄一下,下次處理比較快。
錯誤訊息:"No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID"
要嘗試 Archive 打包 APP 上架,不過出現這個錯誤訊息。網路上有介紹幾種解法,像是:
- 《Xcode报错:“Your build settings specify a provisioning profile with the UUID..... however, no such provisioning profile was found”》,重新選擇設定檔 (Provisioning Profile)。(但是我找不到這篇文裡介紹的圖片的選單畫面,只知道點了專案本身可以到 "Build Settings" 這個頁籤)
- 《Your build settings specify a provisioning profile with the UUID, no provisioning profile was found》,在專案的 *.xcodeproj 檔案裡,右鍵→選 "show package contents",找到專案基本資料檔 (project.pbxproj),用文字編輯器打開,刪除 "PROVISIONING_PROFILE = " 相關的設定。不過我誤以為是要開 *.xcodeproj,但用文字編輯器無法開這個檔案,所以放棄這個方法。
最後我是刪掉舊的 build folder 再重新 build 就好了。(刪除 Build Folder,我的做法是在 XCode → Widnow → Projects,找到要刪的專案,點選 "Derived Data" 後頭的 "Delete" 按鈕)
錯誤訊息:"Missing required icon file, the bundle does not contain an app icon of exactly 167x167 pixels in png format."
這次是要上架卻顯示沒有放 iPad Pro 需要的 icon 圖檔,補上就可以了。
方法是先點專案的基本資料頁,在 Generl 頁籤→App Icons→Source,點選右方的箭頭符號,會進入視覺化的圖片設定畫面,把 icon 檔放進來就好了。
我試過直接編輯專案目錄下的 Images.xcassets\AppIcon.appiconset\Contents.json,但是在 XCode 裡再點選 App Icons 的 Source 右方的箭頭,會出現 JSON 格式異常的錯誤訊息。
另外,我在 Windows 下製做了 167x167 的 icon,但存到了我們的 MacBook 裡就變小了(?),變成 152x152 pixel,不知道是忙中有錯弄錯檔案,還是怎麼了?後來是在 Mac 上安裝了 PhotoShop 直接修改圖檔解決。
錯誤訊息:"Missing iOS Distribution signing identity for..."
這是發布用的憑證到期了,到 Apple Developer 網站→進入個人帳號設定 (Account),進入選單裡的 "Certificates, Identifiers & Profiles",下載新的憑證,雙擊就會自動安裝到本機的 Key Chain(鑰匙圈存取)裡,順便把 Key Chain 裡的過期憑證刪除掉,同樣的把 WWDRCA 憑證也更新,再重新 Archive 就沒事了。
錯誤訊息:"Redundant Binary Upload. There already exists a binary upload with build version '1.1' for train '1.0' at SofrwareAssets/PreReleaseSoftwareAsset"
在《Go To App — (Xamarin / iOS) App上架時,同一個Build不能上架2次》這篇提到,這個訊息是因為已經準備上架的程式,在還沒發布前,version 可以和上傳的版本一樣,但是 build version 要不相同。更改 Build 的數字後,再上傳一次,到 iTune Connect 做上架,就會看到有多個檔案可供選擇,再從中選自己真正要發布的那個 Build 來送審就好。
錯誤訊息:"This Action could not be completed. Try Again (-22421)"
我從 Xcode > Product > Archive,將 APP 封裝完畢後,點選畫面最右邊的 "Upload to App Store",一陣驗證檢查後出現這個訊息。在 stackoverflow 上的 "This action could not be completed. Try Again (-22421)" 這篇是認為 "This happens because Apple's servers may not be working correctly. Just wait and try later or next time. It will work for sure eventually."(這是因為 Apple 的 server 未正確院作。稍晚再試一次,之後就好了。)
但因為我怎麼試它都不好,之前在做 validate 時有過兩個同時發生的錯誤訊息:
- "An error occurred. The operation couldn’t be completed. (ITunesSoftwareServiceAuthenticationErrorDomain error 434.)"
- "iTunes Store operation failed. This action could not be completed. Try again."
在 "I received the error on multiple attempts. Archive Validation failed with errors" 這篇是建議 Xcode > Product > Archive,不要選 validate,而是選它隔壁的 Export,把 IPA 檔匯出來,再從 Xcode > Xcode(選單第一項)> Open Developer Tool > Application Loader,從這裡上傳 iPA 檔。
狀況:完全無法 Archive
在準備把同事提供的 APP 原始碼包版上架時,發現 Xcode > Product > Archive 沒辦法使用。
搜尋一下找到 "Archive button grayed out in Xcode 7",原來是裝置要設成 "Generic iOS Device",不能設成任何模擬器。Orz
錯誤訊息:ERROR ITMS-4238: Redundant Binary Upload. There already exists a binary upload with build version '2.4' for train '2.4.9' at SoftwardAssets/PreReleaseSoftwareAset
同一個版號已經上傳過了,改個版號就沒事了。
狀況:無法看到新建置的版本
從 XCode 的 Organizer 視窗,選擇 "Upload to App Store" 上傳到 iTunes Connect 後,在 iTunes Connect 的「建置版本」一直看不到新版本。
目前經驗大概要等大約 10 分鐘左右,才會顯示「提交 App 之前請先選取建置版本」、或是「建置版本」旁邊會有一個帶圓圈的加號 (+),點下去可以選擇版本。
狀況:透過 XCode 的 Archive 執行 Distribute APP,停在 "verifying assets with the iTunes store" 無法繼續往下執行
在 XCode 選了 "Distribute APP > iOS App Store > Upload",進度一直停在 "Verifying assets with the iTunes store" 無法繼續往下執行。
在 stackoverflow 的 "Application loader stuck at the stage of “Verifying assets with the iTunes Store”" 這篇有人提到可能是因為在 iTunes Connect 裡有任何的授權協議沒有通過 (Make sure no pending contracts are waiting to be signed/accepted)。
我看了一下,果然我還有一些稅務方面的協議要更新,但在勾完同意書後,還出現了「待處理的使用者資訊」的黃色燈號,但不管我怎麼填公司戶頭資料進去,還跟財務確認過帳戶資料,但系統都說是「帳戶持有人姓名無效」,哭了哭了。本來還以為是 Apple 跟銀行接驗證,後來才發現銀行資訊的「帳戶持有人姓名」要和「協議、稅務與銀行業務」這頁的「法律實體」同名,所以亂填也是會過的,重點是要「帳戶持有人姓名 = 法律實體」啊。
但填完後一度以為還是要等 24 小時左右才會生效(後來發現是那些聯絡資訊欄位通通都要寫,什麼高階主管、法務、行銷什麼的,至少要選目前的開發者聯絡資訊填進去,填完就好了),所以我打算改成用 "Distribute APP > iOS App Store > Export",再手動傳上去。
結果!從 Xcode 打開 "Open Developer Tool > Application Loader",要登入時竟然不讓我用開發者帳號登入呢,說是 “Please sign in with an app-specific password. You can create one at appleid.apple.com”。
這個 APP 專用密碼在登入 appleid.apple.com 之後,在「安全 > App 專用密碼」可以取得。(密碼會由 Apple 自動產生,不用自己想)
"Verifying assets with the iTunes store" 這個訊息除了前述提到的,開發者帳號有授權協議沒有把 accept 點好點滿,還有一種狀況是被公司防火牆給擋了,改用自己手機連外部網路就過關了,大概一分鐘左右就進入上傳作業。
狀況:取得 iOS 的螢幕截圖
在 APP Store 上架時需要提供 5.5 吋與 iPad Pro 2 代的 screenshot。
以前我都按 Command-Shift-4 自己拉半天,後來才從《iOS App 畫面的螢幕截圖》這篇知道可以從模擬器直接產生截圖:Simulator > File > New Screen Shot。
狀況:測試深色模式 (dark mode)
因為 iOS 13 新增深色模式 (dark mode),有些色彩配置在切到深色模式後會被吃掉。
要使用深色模式就是在 XCode 模擬器裡,先回到手機桌面,把 Settings > Developer > Dark Appearance 打開。
我一直在 Simulator 的選單裡找半天,沒想到就只是跟一般 user 一樣設定就好了⋯⋯不過用 iPhone 11 Pro MAX 模擬器,對我更大的困難是沒有 HOME 鍵,回不到桌面。這個時候就真的是要用 Simulator 選單上的資源了:在 Hardware > Home,就有點選 HOME 鍵的效果了。
留言列表