2012-10-19 62 views
14

我希望在從OTA安裝我的應用程序後,設備的主頁按鈕將無法工作,以至於用戶無法從應用程序中退出。我的挖掘導致我以下結果無需重新啓動設備即可禁用主頁按鈕

A)我有一種方法來禁用"mobileconfig"配置文件的主頁按鈕,但它需要重新啓動設備和用戶必須在啓動後立即打開我的應用程序,我想這樣做而無需重新啓動像非監禁設備上的私人框架一樣。我想知道對於非越獄裝置可能嗎?

C)如果無法使用Private Frameworks禁用主頁按鈕,那麼是否有任何方法在引導設備後立即打開應用程序?,因爲某些越獄應用程序/進程在啓動時加載。

[注:我不希望我的應用程序提交到iTunes。]

+0

這是誰的應用程序,旨在?無論應用商店如何,禁用主頁按鈕都會讓用戶認爲他們的設備行爲異常/損壞。 – occulus

+2

我們需要它進行教育評估。我們使用企業分發證書發佈此應用程序,我們的mobileconfig配置文件將在檢查結束後自動卸載。 – GauravSTomar

+1

我們可以與蘋果配置做到這一點:監督設備,但它會造成傷害用戶的數據。 – GauravSTomar

回答

19

在iOS6的,有一個名爲「引導訪問」功能,這將允許設備所有者鎖定的用戶(如幼兒和學校的孩子們)到一個應用程序。

這解釋了the Guided Access for iOS 6 apps

+2

感謝您的建議,但我想從我的應用程序做同樣的事情。引導訪問不會有一個API或框架尚未從代碼中使用它。 – GauravSTomar

+1

+1有價值的信息 –

+0

什麼是+25意思是 – Rajneesh071

1

這個問題的官方答案是「你不能禁用ios設備中的home按鈕,它是os級別的體系結構,並且你沒有授權它。」

您需要挖掘操作系統流程以進行任何可能很安靜的更改。

好吧,如果你改變你的視線,雖然它比在ios 6中有一個開放和簡單的解決方案被稱爲引導訪問。

+3

我們可以通過「 mobileconfig「配置文件,但需要在引導後立即重新啓動設備並打開指定的應用程序。這不是一個適當的解決方案,我們希望在不重新啓動的情況下做到這一點,我認爲可以使用私有框架(Springboard等)。 – GauravSTomar

1

如果你能夠越獄你的設備創建一個LaunchDaemon或使用現有的。 LaunchDaemon是一個plist格式的文件,需要重新啓動和啓動設備。您還需要一個命名爲K3A

下載open創建open文件從here

您將需要移動open到/ usr/bin中/或者你可以將其放在您的應用程序並不重要,但設置權限, 0755 and root:wheel

現在到LaunchDaemons,它們都存儲在這裏

/System/Library/LaunchDaemons 

下面是一個例子。 比方說,你命名LaunchDaemon

com.gauravstomar.test.plist 

凡說com.bundle.identifier把你的應用程序標識符,你可能還會發現它在你的Info.plist您的應用程序目錄內的地方說CFBundleIdentifier

現在裏面的plist中插入以下信息

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>com.gauravstomar.test</string> 
    <key>ProgramArguments</key> 
     <array> 
      <string>open</string> 
      <string>com.bundle.identifier</string> 
     </array> 
    <key>RunAtLoad</key> 
    <true/> 
     <key>StartInterval</key> 
     <integer>1</integer> 
</dict> 
</plist> 

標籤必須是相同的名稱LaunchDaemon。plist中排除的plist擴展

ProgramArguments就是調用文件打開並啓動

RunAtLoad使得在重新啓動這個plist中推出

StartInterval將使LaunchDaemon.plist 1秒後,如果用戶打開備份應用程序退出應用程序,如果用戶仍然在應用程序什麼都不會發生

確保您LaunchDaemon的權限設置爲

0644 root:wheel 

你仍然可以使用你的mobileconfig使home鍵被禁用。一旦評估完成,您可以禁用LaunchDaemon,以便應用程序停止使用以下命令重新啓動自己: launchctl unload/System/Library/LaunchDaemon/com.gauravstomar.plist

讓我知道您是否需要任何幫助。

+0

我們不想要一個JailBreak解決方案:( – GauravSTomar

+0

因爲我們需要將它發佈到用戶設備的臨時基礎上 – GauravSTomar

0

沒有越獄,應用程序是沙箱。該應用程序根本無法訪問主頁按鈕。你真的不應該在家裏按鈕搞亂。

除了「引導」時,您還可以使用「限制」,這將允許您禁用所有接受打開你的應用程序。您可以禁用蘋果特定的應用程序包括Safari,和阻止用戶安裝的應用程序,刪除應用程序,進行購買,等...

我們有許多的iPod帶票掃描應用程序,我們租出去給我們的客戶接觸。我們利用「限制」來禁用除應用程序以外的所有內容。到目前爲止,最有用的限制是阻止人們刪除應用程序 - 即使在出現警告提示後,有多少人會意外刪除應用程序也是不可思議的。

+0

如果我沒有錯,您是否可以通過移動配置文件? – GauravSTomar

+0

我們只是手動設置它設置 - >常規 - >限制 – Luke

+0

我們想從我們的應用程序中完成。 – GauravSTomar

相關問題