您好我正在处理使用Qt的应用程序。
我们在Qt 5.4上工作了几个月,我们决定继续使用最新版本(5.6)。在此之前,我们对Mac应用程序签名没有任何问题,我们运行 public static FrameworkElement GetControlByName(DependencyObject parent, string name)
{
int count = VisualTreeHelper.GetChildrenCount(parent);
for (var i = 0; i < count; ++i)
{
var child = VisualTreeHelper.GetChild(parent, i) as FrameworkElement;
if (child != null)
{
if (child.Name == name)
{
return child;
}
var descendantFromName = GetControlByName(child, name);
if (descendantFromName != null)
{
return descendantFromName;
}
}
}
return null;
}
二进制文件来部署应用程序,然后运行脚本来签署整个包并将其添加到.dmg。
由于我们转到Qt 5.6,签名过程不会引发任何错误,当我在其他计算机上使用USB密钥尝试包时,签名就可以了,应用程序可以毫无问题地启动。
但是当我在互联网(Dropbox,Slack或个人远程服务器)上传应用程序时,签名被破坏并显示this message。
当我在上传/下载之前和之后运行macdeployqt
和codesign --deep --verify --verbose=4 -d
时,它具有相同的输出!
spctl --verbose=4 --assess --type execute
以下是我用来签名包的脚本:
MyApp.app: accepted
source=Developer ID
Executable=/Users/digitalessence/Desktop/HeavyM.app/Contents/MacOS/HeavyM
Identifier=fr.digitalessence.heavym
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=31704 flags=0x0(none) hashes=985+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=052009496d7193aed38e60269a59c6bcd386f799
CandidateCDHash sha256=bc721c8b50f4e231a724f524083ca8689108b14a
Hash choices=sha1,sha256
CDHash=bc721c8b50f4e231a724f524083ca8689108b14a
Signature size=8918
Authority=Developer ID Application: Digital Essence (NZ8539HN33)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=24 May 2016 15:36:07
Info.plist entries=9
TeamIdentifier=NZ8539HN33
Sealed Resources version=2 rules=12 files=33
Nested=Frameworks/QtOpenGL.framework
Nested=Frameworks/QtNetwork.framework
Nested=PlugIns/audio/libqtaudio_coreaudio.dylib
Nested=PlugIns/mediaservice/libqavfmediaplayer.dylib
Nested=Frameworks/QtDBus.framework
Nested=PlugIns/mediaservice/libqavfcamera.dylib
Nested=PlugIns/imageformats/libqicns.dylib
Nested=PlugIns/imageformats/libqtiff.dylib
Nested=PlugIns/imageformats/libqtga.dylib
Nested=PlugIns/imageformats/libqdds.dylib
Nested=PlugIns/mediaservice/libqtmedia_audioengine.dylib
Nested=Frameworks/QtCore.framework
Nested=PlugIns/imageformats/libqjpeg.dylib
Nested=Frameworks/QtMultimediaWidgets.framework
Nested=Frameworks/Syphon.framework
Nested=Frameworks/QtGui.framework
Nested=Frameworks/QtMultimedia.framework
Nested=PlugIns/imageformats/libqgif.dylib
Nested=PlugIns/imageformats/libqwbmp.dylib
Nested=PlugIns/imageformats/libqico.dylib
Nested=Frameworks/fftreal.framework
Nested=PlugIns/printsupport/libcocoaprintersupport.dylib
Nested=Frameworks/QtXml.framework
Nested=PlugIns/bearer/libqgenericbearer.dylib
Nested=Frameworks/QtPrintSupport.framework
Nested=PlugIns/bearer/libqcorewlanbearer.dylib
Nested=Frameworks/QtWidgets.framework
Nested=PlugIns/imageformats/libqwebp.dylib
Nested=PlugIns/platforms/libqcocoa.dylib
任何人都可以了解导致此问题的原因或任何人面临同样的问题?提前谢谢。