[英]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.