Ios 如何修复Cydia应用程序的用户目录权限?

Ios 如何修复Cydia应用程序的用户目录权限?,ios,xcode,crash,cydia,Ios,Xcode,Crash,Cydia,我在Cydia上托管的应用程序有问题。 用户抱怨应用程序在启动时崩溃。 该应用程序使用CoreData,我认为这与此有关。 奇怪的是,在测试时,它可以在模拟器或我的设备上正常工作。 但一旦通过Cydia安装,它就会崩溃 事实证明,使用SBSettings中的Fix User Dir权限可以解决此问题 现在我能做些什么呢?我刚刚和BigBoss的存储库人员讨论过这个问题 我从来没有真正得到一个明确的答案,但在我看来,当Cydia安装您的应用程序时,它不一定会显式地为您的应用程序设置所有权。我觉得这

我在Cydia上托管的应用程序有问题。 用户抱怨应用程序在启动时崩溃。 该应用程序使用CoreData,我认为这与此有关。 奇怪的是,在测试时,它可以在模拟器或我的设备上正常工作。 但一旦通过Cydia安装,它就会崩溃

事实证明,使用SBSettings中的Fix User Dir权限可以解决此问题


现在我能做些什么呢?

我刚刚和BigBoss的存储库人员讨论过这个问题

我从来没有真正得到一个明确的答案,但在我看来,当Cydia安装您的应用程序时,它不一定会显式地为您的应用程序设置所有权。我觉得这很奇怪。在我的例子中,他们正在测试安装我的应用程序,并看到它属于user/group={1000/100},这是我准备.deb包的机器上的linux用户id和组id

如果我构建一个.deb包,将其部署到我自己的本地测试存储库,并使用Cydia指向我自己的repo安装它,我也可以看到同样的行为

无论如何,我向他们解释了这一点,他们做了一些事情来修复它,而我没有做更多的事情

但是,另一个选项是手动修复安装后脚本中的权限。在.deb包中,您将拥有以下文件夹和文件结构:

DEBIAN/control DEBIAN/postrm DEBIAN/postinst DEBIAN/preinst 如果您将其放入PostInstant脚本中,我认为它应该立即修复此问题,而无需随后进入SBSettings:

!/bin/bash chown-R root.wheel/Applications/MyAppName.app/ 出口0 例如,如果需要创建其他目录,则可以在脚本中执行更多操作。但是,以上内容至少足以更改.app目录本身的所有权

建议在应用程序的代码中创建其他目录,并指出安装程序以root用户身份运行,而应用程序通常以移动用户身份运行。根据您正在执行的操作,最好在Postnst root或app mobile中修复所有权/权限。

如果在此处找到解决方案: