Catalina, Notaris Aplikasi, dan Sparkle • furbo.org

iOS

[ad_1]
Selamat datang Gaes di suratpembaca.web.id. Siang ini kita akan membicarakan tentang Linux yakni Catalina, Notaris Aplikasi, dan Sparkle • furbo.org

.

Sekiranya postingan mengenai Catalina, Notaris Aplikasi, dan Sparkle • furbo.org

dapat memberikan manfaat untuk Teman-teman semua. Yuk baca artikel ini
hingga selesai.

Kami baru saja mulai memperbarui aplikasi macOS kami untuk Catalina: sejauh ini hanya ada sedikit masalah dengan API dan kerangka kerja. Rintangan terbesar adalah proses sertifikasi yang diperlukan untuk aplikasi yang ditandatangani dengan ID pengembang: Pelanggan tidak akan dapat dengan mudah mengunduh dan meluncurkan produk Anda hingga langkah ini selesai.

Notaris melibatkan langkah tambahan dalam proses pembuatan Anda: Anda mengunggah biner yang diarsipkan dengan jendela Organizer Xcode ke Apple Server, dan Anda dapat mengekspor biner segera setelahnya. Jika Anda telah mengotomatiskan proses pembuatan, Anda perlu membuat perubahan pada skrip untuk menyelesaikan langkah baru ini. Dokumentasi Apple menjelaskan proses ini dengan baik.

Sebelum Anda dapat mengurai program, Anda harus mengaktifkan waktu hard run di panel kemampuan target. Setelah memutar sakelar, Anda akan melihat serangkaian pengecualian dan izin akses. Anda harus memeriksa daftar ini dengan cermat: untuk satu produk kami membutuhkan acara Apple, untuk produk lain kami membutuhkan lokasi.

Saat Anda melakukan unggahan biner, segalanya mulai menjadi rumit: jika Anda menggunakan Sparkle, itu mungkin dirancang tanpa runtime yang diperkeras, jadi Anda akan segera mendapatkan kesalahan.

Bersinar tanpa kotak pasir

Bagaimana Anda mengatasi kesalahan ini tergantung pada versi Sparkle yang Anda gunakan. Jika program Anda tidak di-sandbox, hidup Anda akan sedikit lebih mudah karena ada lebih sedikit hal yang harus Anda tanda tangani secara manual.

Setelah membuat langkah Copy Files target, di mana Sparkle.framework ditransfer ke paket aplikasi, Anda perlu membuat langkah Run Script baru: Saya menamai langkah saya “Sign Frameworks”. Scriptnya terlihat seperti ini:

LOCATION="$BUILT_PRODUCTS_DIR"/"$FRAMEWORKS_FOLDER_PATH"
IDENTITY=$EXPANDED_CODE_SIGN_IDENTITY_NAME

codesign --verbose --force --deep -o runtime --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A/Resources/AutoUpdate.app"
codesign --verbose --force -o runtime --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A"

Bagian kuncinya ada di tahap ini -o runtime. Pada codesign Halaman manual menjelaskan bendera ini sebagai berikut:

Di macOS> = 10.14.0, memilih proses yang ditandatangani di lingkungan runtime yang diperkeras, yang mencakup penandatanganan kode runtime eksekusi, validasi pustaka, pengerasan, penghentian, dan pembatasan debugging. Pembatasan ini dapat dikurangi secara selektif melalui pemberian hak. Catatan: Versi MacOS yang lebih lama dari 10.14.0 mengabaikan keberadaan tanda ini di tanda tangan kode.

Kabar baiknya di sini adalah bahwa perubahan struktural yang kami buat tidak akan memengaruhi saat aplikasi Anda berjalan di macOS versi lama.

Bersinar di kotak pasir

Jika aplikasi macOS Anda ada di dalam kotak keamanan, Anda menggunakan versi yang mengandalkan layanan XPC untuk memutakhirkan. Seperti semua hal lain dalam paket aplikasi Anda, mereka harus ditandatangani dengan benar sebelum Anda dapat mengirimkan aplikasi Anda untuk sertifikasi.

Konstruksi “Kerangka Tanda” harus sebagai berikut:

LOCATION="$BUILT_PRODUCTS_DIR"/"$FRAMEWORKS_FOLDER_PATH"
IDENTITY="$EXPANDED_CODE_SIGN_IDENTITY"

codesign --verbose --force -o runtime --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A/Resources/AutoUpdate"
codesign --verbose --force --deep -o runtime --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A/Resources/Updater.app"
codesign --verbose --force -o runtime --sign "$IDENTITY" "$LOCATION/Sparkle.framework/Versions/A"

Anda juga akan menambahkan langkah pembuatan Run Script baru sebelum menyematkan layanan XPC dalam paket aplikasi Anda. Karena Anda hanya perlu melakukan ini untuk versi yang diterbitkan, skripnya terlihat seperti ini:

IDENTITY="$EXPANDED_CODE_SIGN_IDENTITY"

if [ "$CONFIGURATION" = "Release" ]; then
    $PROJECT_DIR/Sparkle/bin/codesign_xpc "$IDENTITY" $BUILT_PRODUCTS_DIR/*.xpc
fi

Tapi tunggu, kita belum selesai! Anda juga perlu memperbarui codesign_xpc Skrip python dengan -o runtime Bendera. Setelah selesai, tampilannya seperti ini:

def _codesign_service(identity, path, entitlements_path=None):
    command = ["codesign", "-f", "-o", "runtime", "-s", identity, path] + ([] if entitlements_path is None else ["--entitlements", entitlements_path])
    log_message(" ".join(map(sanitize, command)))
    ...

Anda belum selesai

Pada titik ini, Anda harus dapat melakukan pembangunan di mana semua yang ada di aplikasi Anda menggunakan waktu eksekusi yang sulit. Anda mungkin mengalami masalah di sepanjang jalan: Dokumen Apple ini membantu saya melewati tambalan yang sulit. (Untungnya, saya tidak perlu menulisnya kali ini.)

Setelah menyelesaikan unggahan yang diaktakan, Anda akan melihat “Diunggah ke Apple” di penyelenggara, kemudian setelah beberapa menit Anda akan menerima email dan pemberitahuan Xcode bahwa aplikasi Anda “siap untuk didistribusikan”. Di panel kanan di bawah “Distribusi Aplikasi”, Anda akan melihat bahwa tombol “Ekspor Aplikasi Notaris” diaktifkan dan dapat digunakan untuk menempatkan paket yang ditandatangani di mana saja di Mac Anda untuk diproses lebih lanjut.

Dalam kasus kami, kami harus membagi skrip build menjadi dua bagian: kami sudah memiliki satu skrip yang melakukan build, kami menandatanganinya dengan ID pengembang, dan kemudian kami membuat appcast. File XML Sparkle sekarang dibuat dengan skrip terpisah yang juga menyiapkan versi untuk ditinjau di repositori kami.

Intinya: Instruksi ini didasarkan pada Xcode 10, yang saat ini merupakan satu-satunya alat pengembangan yang dapat digunakan untuk mengirimkan aplikasi untuk autentikasi atau Mac App Store. Sebelum kami menyadarinya, kami menyadari bahwa Xcode 11 bekerja lebih baik bersama-sama. -o runtime Selama salinan log kode kerangka kerja. Ada kemungkinan bahwa semua pekerjaan yang telah Anda lakukan ini hanya akan memakan waktu beberapa bulan. ah

Itu tadi pembahasan mengenai Catalina, Notaris Aplikasi, dan Sparkle • furbo.org

, terimakasih telah mengunjungi website ini, semoga informasinya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.