我陷入了一个非常奇怪的问题。我为自己开发了一个应用程序,它有以下三个文件
当我使用ssh将每个文件复制到特定文件夹时,我的应用程序工作正常。
如果我使用cyberduck ssh并将每个文件放在上面指定的文件夹中,那么应用程序效果很好。
现在的问题是,当我尝试将文件打包在.deb文件中然后转移到iPhone然后使用终端i安装它[dpkg -i MyApp.deb]文件在我之前指定的文件夹中被复制好但是我的应用程序无法正常工作我已经检查了所有权限,但仍无效。
有点奇怪,一切都像我使用ssh一样完成但是如果.deb文件不能正常工作,但是如果我单独复制文件它会很好用
对此有何建议?
答案 0 :(得分: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一样。
一切顺利,问题解决了。但是,我仍然不知道为什么会出现这个问题?答案 1 :(得分:1)
也许.deb安装正在推出与不同所有者的文件?
答案 2 :(得分:1)
您的问题最有可能出现在.deb创建过程中。您是否按照saurik网站上的说明或其他方法进行操作? http://www.saurik.com/id/7
答案 3 :(得分:0)
我没有太多创建deb的经验但是像jessecurry我认为权限可能是问题,如果你可以尝试从终端运行应用程序并看看你得到了什么。
答案 4 :(得分:0)
疯狂猜测(我还没有处理过越狱开发)但是当你打包成.deb文件时,或许正在取消引用符号链接?
签名的iPhone应用程序在捆绑包内的CodeSignature文件夹中有一个符号链接。如果您在不小心的情况下压缩和解压缩捆绑包(例如,向-y
提供zip
选项),则符号链接将替换为文件的副本,这会破坏签名。这导致了神秘破坏的应用程序。
即使您不是代码签名,也请尝试解压缩deb文件并将输出与原始应用包进行比较,看看是否存在差异。