支援

在 ShouArchive 裡卡住了嗎?請先看看下面的問題,若仍需協助,歡迎來信。

聯絡方式 beakbigkb@gmail.com 通常會在幾天內回覆。回報問題的訣竅請見頁面底部

開始使用

描述檔分頁要我允許一個資料夾,為什麼?

Mac App Store 版本在 macOS 沙箱中執行。沙箱化的 App 只能讀取您明確選擇的資料夾,而 Xcode 存放描述檔的資料夾位於 App 之外,所以需要允許一次。

請按一下描述檔分頁中的資料夾按鈕。隨即會出現已選好該資料夾的開啟面板 — 什麼都不用改,直接按允許即可。此權限會在之後每次啟動時保留(macOS 安全範圍書籤)。

App 會讀取的資料夾:

  • ~/Library/Developer/Xcode/UserData/Provisioning Profiles — Xcode 16 或以上版本
  • ~/Library/MobileDevice/Provisioning Profiles — 較舊的 Xcode 版本

~/Library 在 Finder 中預設是隱藏的。在開啟面板中按 ⌘⇧G 並貼上路徑,即可直接跳到該處。如果您不想允許該資料夾,仍可將 .mobileprovision 檔案拖入視窗,或使用「從檔案新增…」。

支援哪些檔案類型?
  • 產物檢查.ipa(iOS 分頁)、.apk.aab(Android 分頁)
  • OTA 發布.ipa(iOS)、.apk(Android)。AAB 無法直接安裝到裝置上,因此不接受。
  • 描述檔.mobileprovision
  • API 金鑰:從 App Store Connect 下載的 .p8 檔案

將檔案拖到視窗上,或使用「選擇檔案…」(⌘O)。

為什麼這個版本沒有 IPA/APK 的建置或匯出功能?

Mac App Store 的 App 必須沙箱化,而沙箱無法啟動 xcodebuildgradle 這類外部程式。因此這個版本專注於三件事:檢查、描述檔與 OTA。產物檢查同樣不依賴外部工具 — App 內建的解析器會直接讀取 IPA、APK 與 AAB 檔案。

描述檔與 App Store Connect API

如何建立 App Store Connect API 金鑰?
  1. 前往 App Store Connect使用者和存取權限整合App Store Connect API
  2. 產生一組團隊金鑰。讀取與建立描述檔和裝置通常需要 Admin 角色。
  3. 在 App 的「下載描述檔」›「API 金鑰」中輸入 Issuer IDKey ID 與下載的 .p8 檔案。選擇 AuthKey_XXXXXXXX.p8 檔案時會自動填入 Key ID。

Apple 只允許下載 .p8 檔案一次,請妥善保管。App 絕不會使用您的 Apple ID 或雙重認證驗證碼。

API 金鑰存放在哪裡?會傳送到哪裡?

.p8 檔案留在您原本存放的位置;App 只記住它的參照(安全範圍書籤)。請求權杖在您的 Mac 上簽署,金鑰本身絕不會傳送到任何地方 — App 只會與 Apple 的 App Store Connect API(api.appstoreconnect.apple.com)通訊。在 App 中移除金鑰並不會刪除 .p8 檔案。

「即將過期」和 D-N 標記是什麼意思?

30 天內到期的描述檔屬於「即將過期」,會以橘色的 D-N 標記顯示剩餘天數。已超過到期日的則為「到期」(紅色)。「新增」表示最近才建立;「重複」則標示出團隊、App ID 與類型都相同的兩個以上描述檔。

「憑證」卡片是空的。

沙箱內無法讀取鑰匙圈中的程式碼簽署憑證清單,因此在 Mac App Store 版本中這張卡片會是空的。每個描述檔內嵌的憑證仍會顯示在詳細資料與比較畫面中,並附有 SHA-1 與 SHA-256 的複製按鈕。

我可以註冊多少台裝置?

Apple Developer 帳號在每個會員年度內,每種類型(iPhone、iPad、Mac……)最多可註冊 100 台裝置。停用的裝置在會員資格續約前仍會占用名額。裝置分頁會顯示各類型目前的使用量(例如 iPhone 3 / 100)。

產物檢查

檢查檔案會修改或上傳它嗎?

不會。檔案只會被讀取:絕不修改原始檔案、不會在旁邊寫入結果檔案,也不會傳送任何資料到任何伺服器。結果只顯示在 App 視窗中。

我看不懂某個項目的意思。

帶有點狀底線的項目名稱(權限、裝置功能、資訊清單設定、憑證指紋、Entitlements 等)點一下就會彈出說明,分為是什麼 · 詳細說明 · 注意事項三部分。16 KB 卡片請按標題旁的 ⓘ。

16 KB 頁面大小檢查會看什麼?

從 Android 15 開始,部分裝置採用 16 KB 記憶體分頁,Google Play 也要求原生函式庫必須支援。App 會檢查 64 位元(arm64-v8ax86_64.so 檔案的 ELF LOAD 對齊;對於 APK 中以未壓縮方式存放的 .so 檔案,還會檢查其在封存檔內的 16 KB 邊界,並列出不符合的函式庫。

OTA 發布

我產生了 OTA 檔案,但 App 無法安裝到裝置上。

請依序檢查以下項目:

  • IPA、manifest.plistinstall.html 都必須透過 https 提供。iOS 會拒絕透過 http 安裝。
  • 請在裝置上的 Safari 開啟安裝連結或 QR Code。通訊軟體的預覽與 App 內建瀏覽器往往無法觸發安裝。
  • Ad Hoc:裝置的 UDID 必須包含在描述檔中。若沒有,請將裝置加入描述檔後重新建置 IPA。
  • Enterprise:安裝後,前往「設定」›「一般」›「VPN 與裝置管理」並信任該開發者。
  • 以 App Store 發佈描述檔簽署的 IPA 無法透過 OTA 安裝。選擇這類檔案時,App 會提出警告。
  • 請確認 manifest 中的 IPA URL 與檔案的實際位置一致,且檔案名稱不含空格或特殊字元。
產生的檔案存放在哪裡?

「建立安裝檔案」(⌘↩)會請您選擇輸出資料夾。它會在該處建立 <name>_OTA 資料夾,放入 IPA(或 APK)的副本,以及 <name>.manifest.plist<name>.install.html<name>.qr.png(Android:.install.html.qr.png),同名檔案會被覆寫。App 絕不會上傳任何東西,請自行將這些檔案連同 IPA 或 APK 一起上傳。

Android 的安裝流程是怎樣的?

將 APK、install.html 與 QR 圖片上傳到同一個 https 資料夾,然後在裝置的瀏覽器(Chrome)開啟安裝頁面。由於 App 並非來自 Play 商店,裝置必須允許安裝不明來源的應用程式。頁面上會顯示 SHA-256,方便測試人員驗證下載的檔案。

一般

如何變更語言?

開啟工具列的地球儀選單,選擇語言後按下「立即重新啟動」確認。App 會以該語言重新啟動,您的工作會保留。支援:English、한국어、日本語、简体中文、繁體中文 與 Español。

主題與文字大小?

在工具列選擇淺色、深色或系統。文字大小可透過「顯示方式」選單(放大文字 ⌘+、縮小文字 ⌘-、預設 ⌘0)或「設定」(⌘,)›「畫面」,在 85 % 到 150 % 之間調整。

系統需求

macOS 15 Sequoia 或以上版本,Apple Silicon 或 Intel Mac 皆可。只有下載與建立描述檔以及註冊裝置時需要 App Store Connect API 金鑰;其他功能都可離線使用。

如何回報問題?

請寄信至 beakbigkb@gmail.com,並附上以下資訊,以便盡快處理:

  • macOS 版本(Apple 選單 › 關於這台 Mac)
  • App 版本(ShouArchive 選單 › 關於 ShouArchive)
  • 您依序做了哪些操作,以及發生了什麼事
  • 如果可以,請附上螢幕截圖或完整的錯誤訊息

不需要附上 IPA、APK 或描述檔。若有需要會另外向您索取 — 傳送任何檔案前,請確認其中不含金鑰檔案(.p8)或敏感資料。