ऐप को खोला नहीं जा सकता क्योंकि यह किसी अज्ञात डेवलपर का है


9

सवाल:

कृपया पढ़ने यह है कि पहले ध्यान दें: "पर जाने के लिए उन्हें बताओ System preferences > Security & privacyऔर allow 3rd party applications to run। इस समस्या के लिए हल एक स्वीकार्य नहीं है।

मैंने बनाया है .appकि एक वैध मैक डेवलपर प्रमाण पत्र के साथ हस्ताक्षर किए गए हैं। फिर भी इसे इंटरनेट से डाउनलोड करना और अभी भी चलाना सुरक्षा के संकेत देता है:

ऐप नहीं खोला जा सकता क्योंकि यह एक अज्ञात डेवलपर से है

यह इसके लिए codesign -vvvटर्मिनल डंप है .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

मुझे समझ में नहीं आता कि यह गेटकीपर को पास क्यों नहीं करता है? क्या कुछ याद आ रहा है? क्या Apple को कुछ और चाहिए?


अपडेट 1:

@ TheDarkKnight ने सुझाव दिया है कि मैं साइन करने के लिए गलत प्रमाणपत्र का उपयोग कर रहा हूं .app। ऐसा लगता है जैसे वे सही हैं, इसलिए मैं एक नया Developer ID Application certificateलेकिन स्पष्ट रूप से बनाने के लिए चला गया क्योंकि मैं समूह खाते में एक 'एजेंट' नहीं हूं, इसलिए मुझे अब इंतजार करना होगा जब तक कि 'एजेंट' मेरे लिए एक नहीं बनाता - पीछे की ओर लगता है, क्या वहाँ है मेरे लिए इसे बनाने के लिए 'एजेंट' के इंतजार के आसपास कोई और रास्ता नहीं है?

(Xcode में) यदि "डेवलपर आईडी" रेडियो बटन बाहर हो गया है, तो संभवतः आपके पास एक समूह खाता है। इस प्रकार के खाते केवल डेवलपर आईडी बनाने के लिए "एजेंट" की भूमिका की अनुमति देते हैं। यदि आप यहां फंस जाते हैं तो अपने समूह Apple डेवलपर खाते को बनाने वाले व्यक्ति से संपर्क करें।

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


अपडेट 2:

इसलिए मैंने आखिरकार आज अपना नया सर्टिफिकेट प्राप्त किया, फिर से साइन किया .app, इसे सर्वर से डाउनलोड किया और STILL GOT THE ERROR MESSAGE को डाउनलोड किया । अधिकार अब सही प्रतीत होता है:

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

मैं केवल हस्ताक्षर कर .appरहा हूं क्या इस काम को करने के लिए मुझे कुछ और करना है? क्या इस काम के होने से पहले मुझे समय की प्रतीक्षा करनी होगी?


अपडेट 3:

अब अपडेट 2 से लगभग 1 महीने, यह मुद्दा अभी भी अपार है, और इसलिए एक इनाम रखा गया है।


1
क्या एप्लिकेशन एक कोड हस्ताक्षरित डिस्क छवि में एम्बेडेड है DMG, जब डाउनलोड किया जाता है? आप किस संस्करण पर macOS का परीक्षण कर रहे हैं?
ग्राहम मिलन

@GrahamMiln मुझे आपको macOS संस्करण पर वापस जाना होगा। मैंने हस्ताक्षर नहीं किए .dmg, क्या आपको उस पर हस्ताक्षर करने हैं? मैं संदर्भ के रूप में successfulsoftware.net/2012/08/30/… का उपयोग कर रहा था और वे कहते हैं कि .dmgमुझे अतिरिक्त हस्ताक्षर की आवश्यकता नहीं है इसलिए मैंने इस पर हस्ताक्षर नहीं किए।
झेज


इसके साथ हस्ताक्षर का परीक्षण करने का प्रयास करें:spctl -vvv -a -t open --context context:primary-signature <full path to app or dmg>
ग्राहम मिलन

@GrahamMiln टिप्पणियों के लिए धन्यवाद, मैं आपको सुबह इस पर वापस आऊंगा!
झेज

जवाबों:


7

मोटे तौर पर मैक ऐप स्टोर के बाहर के ऐप्स वितरित करते समय आपको निम्न की आवश्यकता होती है:

  1. डेवलपर आईडी पर हस्ताक्षर करने की पहचान सेट करें
  2. अपना डेवलपर आईडी प्रमाणपत्र बनाएं
  3. अपना ऐप आर्काइव बनाएं
  4. अपना ऐप वैलिडेट करें
  5. एक डेवलपर आईडी हस्ताक्षरित एप्लिकेशन निर्यात करें
  6. इंस्टॉलर पैकेज पर हस्ताक्षर करें (आपके मामले में लागू नहीं)
  7. गेटकीपर सक्षम और फिर से विकलांग गेटकीपर के साथ ऐप के व्यवहार का परीक्षण करें

इस तरह के समस्या निवारण समस्याएँ मुश्किल हो सकती हैं क्योंकि ओपी (इस मामले में आपको पता है) आदि के बारे में धारणा बनाना आसान है, आपके प्रश्न को पढ़ने से मैं मान सकता हूं कि पहले तीन चरणों का ध्यान रखा गया है।

तो, चलिए शुरू करते हैं कि आप अपने ऐप को कैसे सत्यापित कर रहे हैं।

अपना ऐप वैलिडेट करें

डेवलपर आईडी-हस्ताक्षरित एप्लिकेशन को मान्य करने के लिए, इन चरणों का पालन करें:

  1. Xcode में Product> Archive में जाएं
  2. अभिलेखागार आयोजक विंडो दिखाई देगी
  3. प्रश्न में एप्लिकेशन के लिए संग्रह का चयन करें
  4. Validateबटन पर क्लिक करें
  5. एक संवाद बॉक्स आपको सत्यापन के लिए एक विधि का चयन करने के लिए कहता है
  6. डेवलपर आईडी-हस्ताक्षरित एप्लिकेशन विकल्प का चयन करें
  7. पर क्लिक करें Next
  8. अगली विंडो में पॉप-अप मेनू से एक टीम का चयन करें
  9. पर क्लिक करें Choose
  10. Validateबटन पर क्लिक करें

यह किसी भी सत्यापन मुद्दों की पहचान करेगा। यदि कोई पाया जाता है, तो यह आपकी समस्या होगी (या इसका कम से कम हिस्सा), इसलिए आपको इसे हल करने की आवश्यकता होगी।

यदि कोई समस्या नहीं मिलती है, तो नीचे जाएं।

एक डेवलपर आईडी-हस्ताक्षरित एप्लिकेशन निर्यात करें

  1. अभी भी अभिलेखागार आयोजक विंडो के भीतर, प्रश्न में एप्लिकेशन के लिए संग्रह का चयन करें
  2. Exportबटन पर क्लिक करें
  3. एक संवाद बॉक्स आपको निर्यात के लिए एक विधि का चयन करने के लिए कहता है
  4. एक निर्यातकर्ता आईडी-हस्ताक्षरित एप्लिकेशन विकल्प का चयन करें
  5. पर क्लिक करें Next
  6. अगली विंडो में पॉप-अप मेनू से एक टीम का चयन करें
  7. पर क्लिक करें Choose
  8. Exportबटन पर क्लिक करें

एक बार जब आपका ऐप निर्यात हो जाता है, तो आपको गेटकीपर सक्षम और फिर से गेटकीपर के साथ परीक्षण करना चाहिए।


उत्तर के लिए धन्यवाद, मैं जल्द से जल्द यह प्रयास करूंगा।
ज़ेग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.