xcnotary tidak lagi diperlukan! Gunakan xcrun notarytool --wait seperti yang dijelaskan dalam dokumen Apple: Menyesuaikan alur kerja notarisasi
Dengan contoh singkat yang diberikan di sini: #22 (komentar)

Notarisasi aplikasi MacOS melibatkan serangkaian langkah manual, termasuk zip bundel, mengunggahnya ke Apple, dan melakukan polling layanan notaris.
xcnotary mengotomatiskan langkah -langkah ini untuk Anda. Dia:
stderr .
# Install
brew install akeru-inc/tap/xcnotary
# Upgrade
brew update
brew upgrade akeru-inc/tap/xcnotaryUntuk melakukan berbagai pemeriksaan penandatanganan kode pada input tanpa mengirimkan:
xcnotary precheck < input path >Untuk melakukan pemeriksaan penandatanganan kode, kirimkan ke layanan notaris, dan blokir menunggu tanggapan:
xcnotary notarize < input path >
--developer-account < Apple Developer account >
--developer-password-keychain-item < name of keychain item, see below >
[--provider < provider short name > ]
[--no-precheck]Input yang Didukung:
Alat ini tidak menangani kata sandi pengembang apel Anda. Sebagai gantinya, helper altool Xcode membaca kata sandi ID pengembang apel khusus aplikasi langsung dari gantungan kunci. Lihat dokumentasi untuk xcrun altool --store-password-in-keychain-item untuk mengatur item gantungan kunci yang sesuai.
Argumen opsional --provider harus ditentukan jika akun pengembang dikaitkan dengan lebih dari satu tim. Nilai ini dapat diperoleh dengan menjalankan perintah berikut dan mencatat "ProvidershortName" yang ditampilkan.
xcrun altool --list-providers -u " $DEVELOPER_ACCOUNT_USERNAME " -p " @keychain: $PASSWORD_KEYCHAIN_ITEM " altool Xcode akan terhubung ke beberapa host Apple sebagaimana diuraikan dalam dokumentasi.
Ketika notarisasi gagal, xcnotary akan terhubung ke https://osxapps-ssl.itunes.apple.com/ di port 443 untuk mengambil log kegagalan.
Dokumentasi Apple menyarankan: "Selalu periksa file log, bahkan jika notarisasi berhasil, karena mungkin berisi peringatan yang dapat Anda perbaiki sebelum pengiriman Anda berikutnya."
xcnotary akan mengambil dan menampilkan respons layanan notaris setelah selesai.
xcnotary mencoba memeriksa input untuk beberapa masalah notarison umum sebelum mengunggahnya ke Apple. Meskipun tidak mudah, cek ini berpotensi menghemat menit Anda menunggu respons hanya gagal karena bendera penandatanganan kode yang salah.

Ketika input adalah bundel aplikasi, cek berikut akan dilakukan:
Ketika inputnya adalah .dmg atau .pkg , hanya pemeriksaan penandatanganan ID pengembang yang dilakukan, yaitu satu -satunya pemeriksaan yang dapat dilakukan saat ini tanpa mengekstraksi isinya. Dalam alur kerja Anda, Anda mungkin ingin menjalankan xcnotary precheck pada target bundel Anda sebelum mengemasnya.
Dalam kasus yang jarang, mungkin bermanfaat untuk memecahkan masalah masalah penandatanganan kode secara langsung menggunakan respons layanan notaris. Untuk melakukannya, tentukan --no-precheck saat memanggil xcnotary notarize .
Contoh -contoh berikut menetapkan berbagai bendera bangunan yang diperlukan, seperti penandatanganan kode dengan "cap waktu yang aman."
xcodebuild
-target < target >
-scheme < scheme >
-configuration Release
-derivedDataPath .xcodebuild
" CODE_SIGN_IDENTITY=Developer ID Application: <team name> "
" OTHER_CODE_SIGN_FLAGS=--timestamp --options=runtime "
CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO
CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY harus cocok dengan sertifikat gantungan kunci yang sesuai.
Perhatikan bahwa --options=runtime akan memiliki efek memilih dalam biner Anda ke lingkungan runtime yang dikeraskan. Anda kemungkinan besar ingin terlebih dahulu mengaktifkan kemampuan "runtime yang dikeraskan" secara manual dalam pengaturan target Xcode> "penandatanganan dan kemampuan" dan memastikan fungsi aplikasi Anda seperti yang diharapkan. Di sana, Anda juga dapat menambahkan hak apa pun untuk melonggarkan pembatasan runtime.
pkgbuild
--component < path to bundle built according to above specs >
--sign " Developer ID Installer: <team name> "
--timestamp
< output_pkg_name.pkg >CodeSign Setelah membuat DMG:
codesign -s " Developer ID Application: <team> " < dmg >Ubah log
Permintaan/komentar/pertanyaan fitur? Tulis: [email protected]