【问题标题】:Unable to launch App built on Mavericks无法启动基于 Mavericks 的应用程序
【发布时间】:2013-11-18 08:24:58
【问题描述】:

我有一个构建在另一台服务器机器上的 Java 应用程序。这台服务器机器现在升级了 Mavericks + xcode 5.1。早些时候,我遇到了未使用 Mavericks + xcode 5.1 更新在服务器机器上签署我的应用程序的问题,我做了帖子中提到的更改 - Failed to sign Mac OS X app

签署应用程序的更改是 -

#!/bin/sh
if [ -f "/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate" ]; then
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"
elif [ -f "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate" ]; then
export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"
else
export CODESIGN_ALLOCATE="/usr/bin/codesign_allocate"
fi
codesign --deep -s "my name" MayApp.app
codesign -v MayApp.app && echo MayApp.app is Signed Successfully!

以上更改使我的应用程序成功签名,但现在应用程序未启动,尝试使用此命令引发以下错误 -

admins-iMac-4:~ admin$ open /Users/admin/Desktop/APP/MyApp.app 
LSOpenURLsWithRole() failed with error -10810 for the file /Users/admin/Desktop/APP/MyApp.app.

环境是-

在服务器机器上

  1. Mac 版本:小牛队
  2. XCode 版本:5.0
  3. Java 版本:库/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/

我的测试机

  1. Mac 版本:Mountain Lion 10.8.2
  2. Xcode 版本:版本 4.6 (4H127)
  3. Java 版本:库/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/

在我的机器上一切正常,即能够构建、运行应用程序和签署应用程序。但是使用相同的代码,构建的应用程序是签名的,但不会在我的机器和 Mavericks 机器上启动。

我发现 - http://www.java.com/en/download/faq/java_mac.xml

Apple 在 OS X 上禁用了 Oracle 的 Java 版本 7u25 及更低版本。更新到最新版本将允许 Java 在 Mac OS X 上运行。

如果我从 /Applications/MyAnotherApp.app/Contents/PlugIns/jdk1.7.0_21.jdk 的另一个工作应用程序复制旧 JDK 到 MyApp 使我的应用程序启动。

只更新Java版本就解决了JDK的权限问题吗?

我该如何解决这个问题,因为 MyApp 将始终在使用 Mavericks + Xcode 5.1 更新的服务器计算机上构建

谢谢

【问题讨论】:

    标签: java xcode macos osx-lion osx-mavericks


    【解决方案1】:

    kLSUnknownErr (-10810) 

    An unknown error has occurred. 
    

    基本上,这意味着启动服务框架行为不端并且在尝试启动应用程序时遇到错误。当您遇到此错误消息时,最好重新启动机器

    看看this的帖子。

    【讨论】:

    • 重启时没有任何反应,无法启动应用程序,产生同样的错误,我已经在多台 Mac 机器上尝试过应用程序。
    【解决方案2】:

    通过将 Java 从 jdk7u21 更新到最新的 jdk7u45 解决了我无法启动应用程序的问题,详细信息在此处添加 - How to preserve alias property while signing app?

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2019-07-11
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      相关资源
      最近更新 更多