Próbuję opublikować podpisaną aplikację, ale podczas pobierania jej przez Internet strażnik narzeka:
Ponadto na stronie pomocy znajduje się informacja, że aplikacja została zmodyfikowana:
Co tak naprawdę nie jest prawdą, oto moja procedura podpisywania / pakowania:
codesign --deep --force --verify -s "Developer ID Application: Nanolive SA (GMLD8K8WH3)" Steve/Steve.app
hdiutil create -volname Steve -srcfolder Steve -ov -format UDZO Steve.dmg
codesign -s "Developer ID Application: Nanolive SA (GMLD8K8WH3)" Steve.dmg
Cała procedura działa bez problemu i jak widać, nie zmieniam pakietu między podpisem a tworzeniem dmg.
Przejrzałem cały ten dokument i myślę, że wszystko jest w porządku: https://developer.apple.com/library/archive/technotes/tn2206/_index.html
Ponadto przejrzałem wszystko w Checking Gatekeeper Conformance
sekcji:
Sprawdzanie dmg:
$ spctl -a -t open --context context:primary-signature -v Steve.dmg
Steve.dmg: accepted
source=Developer ID
Korzystanie z kodu:
$ codesign --verify --deep --strict --verbose=2 Steve.app
--prepared:/Volumes/Steve/Steve.app/Contents/MacOS/ffmpeg
--validated:/Volumes/Steve/Steve.app/Contents/MacOS/ffmpeg
<snip a lot of validated libs>
--prepared:/Volumes/Steve/Steve.app/Contents/Frameworks/libvtkRenderingAnnotation-7.1.1.dylib
--validated:/Volumes/Steve/Steve.app/Contents/Frameworks/libvtkRenderingAnnotation-7.1.1.dylib
Steve.app: valid on disk
Steve.app: satisfies its Designated Requirement
za pomocą check-signature
narzędzia:
$ /Volumes/Signature\ Check/check-signature Steve.app
(c) 2014 Apple Inc. All rights reserved.
YES
$ /Volumes/Signature\ Check/check-signature Steve.app/Contents/Frameworks/*
(c) 2014 Apple Inc. All rights reserved.
Steve.app/Contents/Frameworks/QtConcurrent.framework: YES
<snip a lot of YES>
Steve.app/Contents/Frameworks/qwt: YES
I na koniec używając spctl
:
spctl -a -t exec -vv Steve.app
Steve.app: accepted
source=Developer ID
origin=Developer ID Application: Nanolive SA (GMLD8K8WH3)
Wiersz poleceń mówi mi, że wszystko jest w 100% poprawne, ale nadal nie mogę uruchomić aplikacji z interfejsu użytkownika, ponieważ brakuje mi czegoś, czego nie powie mi wiersz poleceń.
Pamiętaj, że gdy pomijam kwarantannę przy użyciu wiersza polecenia, aplikacja uruchamia się poprawnie, co oznacza, że o ile mi wiadomo, nie brakuje mi żadnej biblioteki.
Serwer kompilacji działa w systemie OSX High Sierra 10.13.6
Dziękuję za twój czas i pomoc!