man/text
man · Metin İşleme

$ stapler

Bölüm 1 · Metin İşleme

Noter onaylı yürütülebilir dosyalar için biletleri ekler ve doğrular

Özet

     stapler staple [-q] [-v] path
     stapler validate [-q] [-v] path

Açıklama

stapler aracı, noter onaylı yürütülebilir dosyalar için biletleri uygulama paketlerine, disk görüntülerine ve paketlere ekler.

Developer ID, uygulamaların dağıtılmadan önce noter onayından geçmesini gerektirir. Bir bilet, desteklenen bir dosya biçimindeki yürütülebilir dosyalar için kod imzalarının bir listesini içerir. stapler aracı, bu dosyalara bir bilet indirir ve ekler (zımbalar); böylece Gatekeeper'ın içerdikleri yürütülebilir dosyaların düzgün bir şekilde noter onayından geçtiğini doğrulamasını sağlar.

Zımbalama işlemi, noter onaylı uygulamalar için Developer ID dağıtım iş akışının bir parçası olarak Xcode tarafından otomatik olarak gerçekleştirilir. stapler aracı, dağıtılmadan önce, komut satırı araçlarıyla derlenen veya paketlenen desteklenen bir dosya biçimine ayrıca uygulanmalıdır. Bu, Gatekeeper'ın bileti çevrimdışı olarak doğrulamasını sağlar.

Zımbalama işlemi kod imzasını geçersiz kılmaz ve bir yürütülebilir dosya veya arşiv kodla imzalandıktan ve Developer ID ile noter onayından geçirildikten sonra çalıştırılmalıdır. Desteklenen bir dosya biçiminin kodla imzalanması, zımbalanmış tüm biletleri geçersiz kılar, bu nedenle bu durum gerçekleşirse stapler staple komutu tekrar çalıştırılmalıdır.

stapler, zımbalama veya doğrulama yaparken biletleri almak için internet erişimi gerektirir.

Desteklenen Dosya Biçimleri

stapler yalnızca UDIF disk görüntüleri, imzalı "düz" (flat) yükleyici paketleri ve ".app" gibi belirli kod imzalı yürütülebilir paketler ile çalışır. stapler'a giden yolda imzasız bir "düz" yükleyici paketi veya imzasız bir yürütülebilir paket belirtilmesi hata olarak kabul edilir.

Seçenekler

Seçenekler aşağıdaki gibidir:

staple Bir bilet alır ve bunu belirtilen yoldaki desteklenen dosya biçimine ekler. Yürütülebilir dosyanın noter onayı sürecini tamamlamış olması gerekir.

validate Zımbalanmış bir bileti doğrular. Bu işlem, içeriğin doğrulanmasını ve bilet servisinden alınan en son biletle karşılaştırılmasını içerir.

-q, --quiet Biletleri doğrularken veya eklerken, stapler yalnızca çıkış kodunu döndürür. --verbose seçeneği bu seçeneği geçersiz kılar.

-v, --verbose stapler'ın çıktısını ek tanı bilgileri içerecek şekilde ayarlar. verbose seçeneği olmadan, işlem başarılı olduğunda hiçbir çıktı üretilmez.

Örnekler

     stapler staple Example.app
	      Xcode.app dosyasına bir bilet alın ve zımbalayın.

     stapler validate -v SampleInstaller.pkg
	      Ayrıntılı çıktı ile bir pakete zımbalanmış bileti doğrulayın.

Tanılama

stapler, başarılı bir zımbalama veya doğrulama işleminde 0 değerini döndürür. Bir hata oluşursa, sysexits(3) içinde tanımlanan sıfır dışı kodlardan birini döndürür. stapler ilk hatayla karşılaştığında sonlanır. Daha az yaygın senaryolarda aşağıda listelenenlerin dışındaki kodlarla da çıkış yapabilir.

[EX_USAGE] Seçenekler hatalı biçimlendirilmiş veya eksik görünüyor.

[EX_NOINPUT] yol bulunamıyor, kodla imzalanmamış veya desteklenen bir dosya biçiminde değil ya da validate seçeneği geçirilmişse mevcut bilet eksik veya geçersiz.

[EX_DATAERR] Bilet verisi geçersiz.

[EX_NOPERM] Bilet, bilet servisi tarafından iptal edilmiş.

[EX_NOHOST] Yol daha önce noter onayından geçirilmemiş veya bilet servisi beklenmeyen bir yanıt döndürüyor.

[EX_CANTCREAT] Bilet, bilet servisinden başarıyla alındı ve düzgün şekilde doğrulandı ancak bilet diske yazılamadı.

Ayrıca Bakınız

codesign(1), spctl(8), syspolicyd(8)

Geçmiş

stapler komutu ilk olarak macOS 10.14'te göründü.

Hatalar

stapler her çalıştırmada yalnızca tek bir yol üzerinde işlem yapabilir. Birden fazla yol belirtilirse, stapler yalnızca belirtilen son yolu işleyecektir.

Yolu içeren klasör yazılabilir olmalıdır.

Eğer bir yürütülebilir paket Contents/CodeResources konumunda bir sembolik bağ içeriyorsa, staple işlevinin çalışabilmesi için bunun manuel olarak silinmesi gerekir.