2013-05-09 42 views
2

我正在尋找解決方案來在貿易展上展示應用程序。何時'isRunningInStoreDemoMode'爲true?

我知道你可以安裝一個配置文件到你的設備與未公開的com.apple.defaults.managed有效載荷來禁用設備的主頁按鈕。這是在貿易展上展示您的應用的好方法。但是,有時候您的功能不應該在這些演示中激活,或者在演示模式下某些類型的數據不應該存儲在設備上。

作爲您通過此移動配置文件啓用的關鍵是SBStoreDemoAppLock我認爲這也將使私人+[UIApplication isRunningInStoreDemoMode]返回YES但事實並非如此。有人知道在什麼情況下這種方法會返回YES嗎?

我知道這是私人的API,但這是代碼只是在beta分佈,所以它並不重要。所以請不要評論並告訴我,我會被蘋果拒絕!

任何幫助表示讚賞!謝謝!

回答

2

isRunningInStoreDemoMode

我把UIKit中看看。它的作用在這個函數是:

CFPreferencesGetAppBooleanValue(「StoreDemoMode」,「com.apple.demo的設置,&值);

我用grep二進制文件,看到它在相當多的使用但是,我沒有發現任何代碼在哪裏設置(可能,我可能是錯誤的,因爲我花了非常少的時間,並且我通過模擬器二進制文件grep,這是不同於真正的設備二進制文件)

另外,它不能通過com.apple.defaults.managed進行設置(只能通過這種方式設置有限的一組設置)

所以,我的假設是,這個API可以回憶一些舊的Kiosk機制被替換/演變。

最簡單的方法

我覺得你的最簡單的方法是隻是爲了有一個特別打造了一個演示,而不是試圖找到一個私有API,這將kiosk模式和普通模式之間的區別

指導接入模式

如果你喜歡挑戰。您可以看看新的信息亭模式機制 - 引導訪問模式。

有兩種方法來啓用它: 一)通過UI(https://www.appcertain.com/apple-guided-access-mode-parents/) b)使用蘋果配置(https://itunes.apple.com/us/app/apple-configurator/id434433123?mt=12

設有一個圖書館/usr/lib/libAccessibility.dylib。它有API AXSGuidedAccessEnabled();我沒有使用它,但我認爲它會返回設備是否處於可訪問模式。

相關問題