Uygulama, tanımlanamayan bir geliştiriciden olduğu için açılamıyor


9

Soru:

: Nota bu o okumadan önce lütfen "gitmek için söyle System preferences > Security & privacyve allow 3rd party applications to run. Bu sorunla ilgili çözmek kabul edilebilir değil.

.appGeçerli bir Mac Developer sertifikası ile imzalanmış bir oluşturduk . Yine de internetten indirmek ve çalıştırmak hala güvenlik istemini atar:

Uygulama, tanımlanamayan bir geliştiriciden olduğu için açılamıyor

Bu, aşağıdakiler için codesign -vvvterminal dökümüdür .app:

Executable=/Users/me/Desktop/ADRA.app/Contents/MacOS/ADRA
Identifier=unity.Company.ADRA NSW 2016
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178145 flags=0x0(none) hashes=5561+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=79ecf88721d6387749c1f6b10355c3683ef20eb2
CandidateCDHash sha256=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Hash choices=sha1,sha256
CDHash=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Signature size=4739
Authority=3rd Party Mac Developer Application: Company Pty Ltd (NH73TNDB28)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=20 Apr 2017, 2:46:12 PM
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=224

Bunun neden Gatekeeper'ı geçmediğini anlamıyorum? Eksik bir şey var mı? Apple başka bir şey ister mi?


Güncelleme 1:

@ TheDarkKnight imzalamak için yanlış sertifika kullanıyorum önerdi .app. Doğru gibi görünüyorlar, bu yüzden yeni Developer ID Application certificatebir hesap oluşturmaya gittim ama görünüşe göre grup hesabında bir 'Temsilci' değilim, bu yüzden şimdi 'Temsilci' benim için bir tane oluşturana kadar beklemek zorundayım - geri görünüyor, orada 'Temsilci'nin bunu benim için yapmasını beklemenin başka yolu yok mu?

(Xcode'da) "Geliştirici Kimliği" radyo düğmesi soluksa, büyük olasılıkla bir grup hesabınız vardır. Bu tür hesaplar yalnızca Geliştirici Aracıları oluşturmak için "Aracı" rolüne izin verir. Burada takılırsanız grup Apple Geliştirici Hesabınızı oluşturan kişiye başvurun.

https://developer.mozilla.org/en-US/docs/Mozilla/Signing_Mozilla_apps_for_Mac_OS_X


Güncelleme 2:

Sonunda bugün yeni sertifikamı aldım, yeniden imzaladım .app, sunucudan indirdim ve STILL HATA MESAJINI VARDIR . Otorite şimdi doğru görünüyor:

Executable=/Users/me/Downloads/ADRA.app/Contents/MacOS/ADRA
Identifier=com.company.adra
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178133 flags=0x0(none) hashes=5561+3 location=embedded
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
OSPlatform=36
OSSDKVersion=657408
OSVersionMin=656896
Hash type=sha256 size=32
CandidateCDHash sha1=90d2a54162d6d018bf4f7602d7707c8e8e522fc6
CandidateCDHash sha256=dadfe5203d1367ea776f9501025dbd4ce751ee30
Hash choices=sha1,sha256
Page size=4096
CDHash=dadfe5203d1367ea776f9501025dbd4ce751ee30
Signature size=8930
Authority=Developer ID Application: Company Pty Ltd (NH73TNDB28)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=10 May 2017, 3:36:51 pm
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=184

Sadece .appbu işi yapmak için yapmam gereken başka bir şey var mı? Bunun çalışması için beklemek zorunda olduğum bir süre var mı?


Güncelleme 3:

Güncelleme 2'den neredeyse 1 ay sonra, bu sorun hala çok açık ve bu yüzden bir lütuf kattı.


1
Uygulama DMGindirildiğinde kod imzalı disk görüntüsüne gömülü mü ? Hangi macOS sürümünü test ediyorsunuz?
Graham Miln

@GrahamMiln macOS sürümünde size geri dönmem gerekecek. İmzalamadım, bunu da imzalamak .dmgzorunda mısın? Başarılı olarak referans olarak softsoftware.net/2012/08/30/… kullanıyordum ve .dmgimzalamadığı için ek imzalama gerektirmediğini belirtiyorlar.
Zze


İmzayı aşağıdakilerle test etmeyi deneyin:spctl -vvv -a -t open --context context:primary-signature <full path to app or dmg>
Graham Miln

@GrahamMiln Yorumlar için teşekkürler, bu konuda size sabah geri döneceğim!
Zze

Yanıtlar:


7

Genel olarak, uygulamaları Mac App Store dışında dağıtırken yapmanız gerekenler:

  1. İmzalama kimliğini Geliştirici Kimliği olarak ayarlama
  2. Geliştirici Kimliği sertifikalarınızı oluşturun
  3. Uygulamanızı oluşturun Arşivi
  4. Uygulamanızı doğrulayın
  5. Geliştirici Kimliği imzalı bir uygulamayı dışa aktarma
  6. Kurulum paketini imzalayın (sizin durumunuz için geçerli değildir)
  7. Uygulamanın davranışını Gatekeeper etkinken ve yine Gatekeeper devre dışı bırakıldığında test edin

Bu gibi sorunların giderilmesi zor olabilir, çünkü OP'nin (bu durumda) ne kadar bildiği, vb. Hakkında varsayımlar yapmak kolaydır.

Şimdi, uygulamanızı nasıl doğruladığınızı iki kez kontrol ederek başlayalım.

Uygulamanızı doğrulayın

Geliştirici Kimliği imzalı bir uygulamayı doğrulamak için şu adımları izleyin:

  1. Xcode'da Ürün> Arşiv'e gidin
  2. Arşivler düzenleyici penceresi görünecektir
  3. Söz konusu uygulama için arşivi seçin
  4. Düğmesini Validatetıklayın
  5. Doğrulama için bir yöntem seçmenizi isteyen bir iletişim kutusu görüntülenir
  6. Seç Doğrulama bir Geliştirici Kimliği imzalı Uygulama seçeneği
  7. Tıklamak Next
  8. Bir sonraki pencerede açılır menüden bir takım seçin
  9. Tıklamak Choose
  10. Düğmesini Validatetıklayın

Bu, doğrulama sorunlarını belirleyecektir. Herhangi biri bulunursa, bu sizin probleminiz (veya en azından bir kısmı) olacaktır, bu yüzden bunu çözmeniz gerekecektir.

Hiçbir sorun bulunmazsa, aşağıya ilerleyin.

Geliştirici Kimliği imzalı bir uygulamayı dışa aktarma

  1. Hala Arşivler düzenleyici penceresinde, söz konusu uygulamanın arşivini seçin
  2. Düğmesini Exporttıklayın
  3. Dışa aktarma için bir yöntem seçmenizi isteyen bir iletişim kutusu görüntülenir
  4. Seç Dışa bir Geliştirici Kimliği imzalı Uygulama seçeneği
  5. Tıklamak Next
  6. Bir sonraki pencerede açılır menüden bir takım seçin
  7. Tıklamak Choose
  8. Düğmesini Exporttıklayın

Uygulamanız dışa aktarıldıktan sonra Gatekeeper etkinken ve Gatekeeper devre dışı bırakıldığında tekrar test etmelisiniz.


Cevabınız için teşekkürler, bunu en kısa zamanda deneyeceğim.
Zze
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.