Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone.deb应用程序安装问题_Iphone_Xcode_Debian_Jailbreak - Fatal编程技术网

iPhone.deb应用程序安装问题

iPhone.deb应用程序安装问题,iphone,xcode,debian,jailbreak,Iphone,Xcode,Debian,Jailbreak,我陷入了一个非常奇怪的问题。我为自己开发了一个应用程序,它有以下三个文件 MyApp.app MyAppDaemon.app LaunchDaemon.plist 当我使用ssh将每个文件复制到特定文件夹中时,我的应用程序工作得非常好 MyApp.app进入/Applications MyAppDaemon.app进入/private/var/mobile/ LaunchDaemon.plist到/System/Library/LaunchDaemons/ 若我使用cyberduck进行

我陷入了一个非常奇怪的问题。我为自己开发了一个应用程序,它有以下三个文件

  • MyApp.app
  • 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文件,它不起作用,但是如果我单独复制这些文件,效果会很好


有什么建议吗

可能是.deb安装正与其他所有者一起将文件推出?

可能是.deb安装正与其他所有者一起将文件推出?

您的问题最有可能出现在.deb创建过程中。您是否遵循了saurik网站上的说明或其他方法

您的问题最有可能出现在.deb创建过程中。您是否遵循了saurik网站上的说明或其他方法

我在创建debs方面没有太多经验,但像jessecurry一样,我认为权限可能是个问题,如果你可以尝试从终端运行应用程序,看看你会得到什么。

我在创建debs方面没有太多经验,但像jessecurry一样,我认为权限可能是个问题,如果您可以尝试从终端运行应用程序,看看您得到了什么。

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

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

即使您不是代码签名,也可以尝试解包您的deb文件,并将输出与原始应用程序包进行比较,看看是否有差异。

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

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


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

感谢各位的回复,我已经找到了问题的解决方案,尽管我仍然不知道问题发生的原因。这就是我所做的

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

+- MyApp
   +- Applications
      +Myapp.app
   +-DEBIAN
    -control
    -postinst
    -postrm
   +-System
     +-Library
       +-LaunchDaemons
         +- com.myLaunchDaemon.plist
   +-private
     +-var
       +-mobile
         +- AppDaemon.app
然后我用.deb命令打包了这个文件夹,就像saurik在他的网站上指示的那样


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

感谢各位的回复,我已经找到了问题的解决方案,尽管我仍然不知道问题为什么会发生。这就是我所做的

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

+- MyApp
   +- Applications
      +Myapp.app
   +-DEBIAN
    -control
    -postinst
    -postrm
   +-System
     +-Library
       +-LaunchDaemons
         +- com.myLaunchDaemon.plist
   +-private
     +-var
       +-mobile
         +- AppDaemon.app
然后我用.deb命令打包了这个文件夹,就像saurik在他的网站上指示的那样


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

有什么特别的原因让你不按照官方的方法开发iPhone应用程序并选择越狱路径吗…?基于名字
MyAppDaemon.plist
,他似乎想在后台运行SDK禁止的东西。但不管怎样,他是否愿意遵循官方的方法都是他的事。是的,本扎多是对的。官方SDK不允许我启动守护进程,我的应用程序需要一个启动守护进程。你有什么特别的原因不按照官方的方法开发iPhone应用程序并选择越狱路径…?基于名称
MyAppDaemon.plist
,他似乎想在后台运行一些东西,这是SDK所禁止的。但不管怎样,他是否愿意遵循官方的方法都是他的事。是的,本扎多是对的。官方SDK不允许我启动守护进程,我的应用程序需要一个启动守护进程。