我曾問過一個問題here,但答案指導我開啓一個新主題。不久,我想從我的應用程序上啓動Appstore上的免費應用程序,但我想要啓動的應用程序沒有URL Scheme。關於我的另一個問題的評論說,使用一些特殊的APIs,如SBSLaunchApplicationWithIdentifier或者像UIDocumentInteractionController這樣的類可以實現。任何人都可以請幫助我如何從我的appication啓動應用程序。在此先感謝從我的應用程序中啓動應用程序的特殊API
9
A
回答
15
讓我先說,這種方法是越獄!它使用私有的API,Apple可以在未來的版本中隨時停止支持的!
讓我們開始吧,這種方法使用[UIApplication launchApplicationWithIdentifier:suspended:]
私有方法:
[[UIApplication sharedApplication] launchApplicationWithIdentifier:@"com.apple.Preferences" suspended:NO];
從我所測試的應用程序沒有作爲root運行是沒用的,顯然跳板調用此方法(或LaunchServices )只允許根應用程序使用此方法啓動其他應用程序。
所以,首先你需要越獄你的iPhone,然後你需要讓你的應用程序以root身份運行。
要讓您的應用程序以超級用戶身份運行,您需要將其置於/Applications/YourApp.app而不是通常的/ User/Applications/UUID /YourApp.app。
您可以使用Cydia安裝OpenSSH並使用SSH訪問手機的外殼。
然後,將具有在正確的地方您的應用程序後,您需要設置權限,例如:
我會用同樣的那些爲蘋果蠹:
chown -R root:wheel /Applications/YourApp.app
接下來,一個小技巧。二進制將需要setuid bit:
chmod 4755 /Applications/YourApp.app/YourApp
而對於最後一步,跳板不打開的應用程序與setuid位,但它會打開一個腳本(可以打開另一個應用程序)!只需更改二進制的名稱類似YourApp_:
mv /Applications/YourApp.app/YourApp /Applications/YourApp.app/YourApp_
並創建一個名爲YourApp在您的應用程序文件夾下面的腳本的新文件:
#!/bin/bash
CrrDir=$(dirname "$0")
exec "${CrrDir}"/YourApp_
現在,只需respring(有一個應用程序對於Cydia),你準備好了。
對不起,如果這看起來很難,它不是,我不記得我在哪裏瞭解它,但很久以前。這種方法在所有iOS版本中都能正常工作,並且我剛剛在iOS 5.1中進行了測試。
再次,如果您使用這個,您的應用程序將不會被Apple批准。
相關問題
- 1. 從我的應用程序啓動Android視頻應用程序
- 2. 如何從我的應用程序啓動Facebook應用程序?
- 3. 從我的應用程序內啓動本機應用程序?
- 4. 從我的Android應用程序啓動Adobe Air應用程序
- 5. 從我的Android應用程序啓動Android應用程序
- 6. 從我的應用程序啓動外部應用程序
- 7. 從我的應用程序啓動Mail.app
- 8. 從鉻啓動我的應用程序
- 9. 從應用程序啓動「啓動器應用程序抽屜」?
- 10. 我可以從我的應用程序中啓動android應用程序嗎?
- 11. 如何從我的其他應用程序啓動我的應用程序?
- 12. ios從我的應用程序啓動應用程序導致我的應用程序終止
- 13. 從應用程序包中啓動應用程序
- 14. 如何從我的應用程序中啓動郵件應用程序?
- 15. Android KitKat從應用程序啓動screenrecord從應用程序
- 16. 從另一個應用程序啓動我的程序
- 17. 啓動其他應用程序從我的應用程序的Android
- 18. 從Windows 10通用應用程序啓動Cordova應用程序
- 19. 應用程序驗證程序不允許啓動我的應用程序
- 20. 在應用程序啓動時啓動應用程序類
- 21. 如何從我的應用程序啓動應用程序商店
- 22. 從我的應用程序啓動谷歌地圖應用程序
- 23. 從另一個應用程序啓動我的應用程序,然後返回
- 24. 如何從我的應用程序啓動iTunes Store應用程序?
- 25. 如何從我的應用程序啓動iPhone設置應用程序?
- 26. 如何直接從我的應用程序啓動App Store應用程序
- 27. 如何從我自己的android應用程序啓動電報應用程序?
- 28. 如何防止從我的應用程序啓動其他應用程序
- 29. iPhone SDK-從我的應用程序內啓動YouTube應用程序
- 30. 從我的應用程序啓動Google地圖應用程序iphone
在此先感謝。我讀過它,現在我將研究它。不管它是否很難:) – ilhnctn 2012-04-18 14:25:57
Np,我希望這個答案可以幫助更多的人,我在SO中多次看到過這個問題。 – fbernardo 2012-04-18 14:26:51
第二個問題,我是否必須越獄我的設備才能做到這些(比如使用Cydia安裝OpenSSH並使用SSH訪問您手機的外殼) – ilhnctn 2012-04-18 14:39:05