我在小牛上创建了JavaFX应用程序,并使用Xcode 5.0.2使用-
codesign --deep -s "my name" MayApp.app
codesign -v MayApp.app && echo MayApp.app is Signed Successfully!没有签署MYAPP启动罚款!!
如果不使用--深度,我就无法在小牛队签署应用程序。
--更多的尝试--
现在在小牛队,如果包中的嵌套包没有签名,我们就不能再对包签名。我按照- http://furbo.org/2013/10/17/code-signing-and-mavericks/所写的指令签署了我的应用程序的框架。
codesign --verbose --force --sign "my name" MyApp.app/Contents/PlugIns/jdk1.7.0_21.jdk单独或在签署框架后签署框架命令,不会在签名应用程序中做任何更改。
-主要问题-
在运行上述命令时(无论是只签署应用程序还是与框架签名一起运行),MyApp.app都会成功地签名,但是该应用程序没有在Mac上启动,因为签名命令没有为存在于- MyApp.app/Contents/PlugIns/jdk1.7.0_21.jdk/Contents/MacOS__的文件libjli.dylib保留别名属性。将libjli.dylib别名转换为动态库的应用程序代码签名。
然后我想通过以下命令复制libjli.dylib -
<target name="Copylib" depends="SigningApp">
<delete file="MyApp.app/Contents/PlugIns/jdk1.7.0_21.jdk/Contents/MacOS/libjli.dylib"/>
<exec executable="cp">
<arg line="-R /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/MacOS/ MyApp.app/Contents/PlugIns/jdk1.7.0_21.jdk/Contents/MacOS"/>
</exec>
</target>这个保存了别名但现在在验证符号应用程序上说-
admins-iMac:osx admin$ codesign -v -v MyApp.app
MyApp.app: code object is not signed at all
In subcomponent: MyApp.app/Contents/PlugIns/jdk1.7.0_21.jdk
In architecture: x86_64如果我在MyApp.app手动复制这个别名,也会发生同样的情况。
请建议如何签署应用程序,并保留我在- Contents/PlugIns/jdk1.7.0_21.jdk?框架中存在的所有文件的属性。
谢谢
发布于 2013-11-27 10:52:16
我的问题可以通过从jdk7u21升级到最新的jdk7u45来解决,因为苹果已经在OS上禁用了甲骨文的JavaVersion7u25及以下版本。更新到最新版本将允许在Mac上运行Java。
另外,我还得做这些修改才能让应用程序生效-
注意:步骤2和3是必需的,因为在部署JavaFx应用程序时,部署过程只在默认情况下将/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home复制到MyApp.app/Content/PlugIns中,它跳过了MacOS/ folder和Info.plist。
而不进行上述更改,以便将应用程序与-
codesign --deep -s "my name" MayApp.app我在签名时遇到了错误-- MyApp.app:包格式不被识别、无效或不合适--我们正面临这个问题,因此我们需要确定是什么使应用程序包格式不被识别、无效或不合适。
谢谢
https://stackoverflow.com/questions/20190177
复制相似问题