繁体   English   中英

来自Cydia的应用程序的Settings.bundle和钥匙串不起作用

[英]Settings.bundle & keychain for applications from Cydia doesn't work

我正在开发与Cydia一起分发的应用程序。 因此,它通常安装在/ Applications文件夹中,而不是通常的AppStore应用程序中的/ var / mobile / Applications /中。 我认为安装给我带来了一些大问题。 最初,用著名的Apple的KeychainItemWrapper进行钥匙串读写根本不起作用。 另外,我的settings.bundle也无法正常工作。 应用程序设置未显示在Settings.app中。

当我在Simulator中测试应用程序或什至将其从Xcode直接部署到设备(部署到/ var / mobile / Applications /)时,所有功能都像魅力一样。

我尝试通过将mobile:mobile作为所有者将已安装的.app移至var / mobile / Applications / XXXXXX / myapp.app。 它没有帮助。

任何解决方案,使这项工作?

设置包

越狱应用程序的设置略有不同。 您需要执行常规Settings.bundle 类似的操作,但有一些不同。

有关此信息,请参见此处

和这里

和这里

您应该使您的应用程序依赖于preferenceloader软件包,这有助于越狱应用程序管理设置。 因此,您的DEBIAN /控制文件中将包含以下内容:

package: com.mycompany.MyApp
Name: MyApp
Version: 2.2-2
Architecture: iphoneos-arm
Depends: preferenceloader
Description: Do something for jailbreak iPhones
...

钥匙扣

为了使钥匙串对我的应用程序有效,我需要在二进制文件中添加权利 我发现需要哪些权利的方法是先以正常方式构建应用程序(不是越狱应用程序,只是使用Xcode的普通第三方应用程序商店应用程序)。 然后,我检查了Xcode构建的二进制文件中的权利:

ldid -e MyApp.app/MyApp

然后将这些权利拼接为新的entitlements.xml文件。 有关适用权利的示例,请参见此处 我相信您的应用的权利应如下所示:

  <key>application-identifier</key>
  <string>L44W4W8ABC.com.mycompany.MyApp</string>
  <key>aps-environment</key>
  <string>development</string>
  <key>com.apple.developer.team-identifier</key>
  <string>L44W4W8ABC</string>

可能不需要这种添加权利的方法。 请参阅您问题下方的评论,以获取其他选择。 但是,由于其他原因,我正在添加其他权利,并且无法通过Xcode做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM