1

我遇到了一个非常奇怪的问题。我为自己开发了一个应用程序,其中包含以下三个文件

  • 我的应用程序
  • MyAppDaemon.app
  • LaunchDaemon.plist

当我使用 ssh 将每个文件复制到特定文件夹时,我的应用程序运行良好。

  • MyApp.app 进入 /Applications
  • MyAppDaemon.app 进入 /private/var/mobile/
  • LaunchDaemon.plist 进入 /System/Library/LaunchDaemons/

如果我使用cyberduck SSH 并将每个文件放在上面指定的文件夹中,应用程序会很好用。

现在的问题是,当我尝试将文件打包到 .deb 文件中,然后传输到 iPhone,然后使用终端安装它 [dpkg -i MyApp.deb] 文件在我之前指定的文件夹中被很好地复制,但我的应用程序没有工作。我检查了所有权限,仍然无法正常工作。

有点奇怪,一切都以与我使用 ssh 相同的方式完成,但在 .deb 文件的情况下它不起作用,但是如果我单独复制文件,它会很好用

对此有何建议??

4

5 回答 5

2

感谢大家的回复,我已经找到了解决问题的方法,虽然我仍然不知道为什么会出现问题。这是我所做的

我已经将我的 AppDaemon 打包在 xcode 的 MyApp 资源文件夹中,并且在 DEBIAN 的 postinst 文件中,我将该文件夹移动到 /private/var/mobile,这实际上导致了问题。该文件夹被复制到 /private/var/mobile 但可能不具有所有权限和所有权。所以我所做的是,在将其打包成 .deb 文件之前,我从 xcode 中 MyApp 的资源文件夹中删除了 AppDaemon,并使其成为一个独立的应用程序。然后我制作了这个文件架构以打包到 .deb

+- MyApp
   +- Applications
      +Myapp.app
   +-DEBIAN
    -control
    -postinst
    -postrm
   +-System
     +-Library
       +-LaunchDaemons
         +- com.myLaunchDaemon.plist
   +-private
     +-var
       +-mobile
         +- AppDaemon.app

然后我用 .deb 命令打包文件夹,就像 saurik 在他的网站上指示的那样。

一切顺利,问题解决。但是我仍然不知道为什么会出现问题?

于 2010-02-10T03:19:08.203 回答
1

也许 .deb 安装将文件推送给不同的所有者?

于 2010-02-09T14:23:02.033 回答
1

您的问题很可能出在您的 .deb 创建过程中。您是否按照 saurik 网站上的说明或其他方法进行操作?http://www.saurik.com/id/7

于 2010-02-09T22:35:15.273 回答
0

我在创建 deb 方面没有太多经验,但像 jessecurry 我认为权限可能是问题所在,如果您可以尝试从终端运行应用程序并查看您得到的结果。

于 2010-02-09T22:47:36.757 回答
0

疯狂的猜测(我没有处理越狱开发)但是当您打包为 .deb 文件时,可能会取消引用符号链接?

已签名的 iPhone 应用程序在包内的 CodeSignature 文件夹中有一个符号链接。如果您在不小心的情况下压缩和解压缩包(例如,提供 的-y选项zip),符号链接将被替换为文件的副本,这会破坏签名。这导致神秘地损坏的应用程序。

即使您没有进行代码签名,也请尝试解压缩 deb 文件并将输出与原始应用程序包进行比较,看看是否存在差异。

于 2010-02-09T22:48:34.497 回答