簡體   English   中英

點擊帶有Bundle Identifier的按鈕上的打開應用程序(無url方案)

[英]Open application on button tapped with Bundle Identifier (Without url scheme)

我目前正在開發一個應用,並且我試圖添加一個按鈕,當點擊該按鈕時,它將打開手機上安裝的另一個應用

我曾嘗試尋找該應用程序的URL方案,但找不到。 我唯一能找到的就是捆綁包ID。 所以我想也許有一種方法可以使用包ID通過Swift中的私有API打開應用程序嗎? 如果有幫助,我的電話就越獄了。 下面是我的代碼

    @IBAction func openAppTapped(_ sender: Any) {
        UIApplication.shared.openURL(NSURL(string: "itms-apps://itunes.apple.com/us/app/apspace/id1413678891?mt=8")! as URL)      

    }

我設法在點擊按鈕時在appstore上找到了該應用程序,但是我想一種不使用url方案而是使用包ID和/或私有API直接打開該應用程序的方法。 任何幫助將不勝感激!

要打開另一個應用程序,您要么必須使用該應用程序提供的某種擴展名,要么要弄清楚它們的URL方案並對其進行反向工程。

您可以嘗試做的第一件事是查看應用程序的Info.plist,並查看他們是否已為其應用程序定義了URLScheme。 如果沒有,並且他們還沒有實施擴展,那么我認為您是SOL。

如果他們確實定義了它,請嘗試使用它打開他們的應用程序,然后看看會發生什么,他們可能會有一些代碼會根據其方案后面的URL格式拒絕或接受打開他們的應用程序的請求。 如果您無法通過反復試驗弄清楚這一點,則可以使用以下事實:您的手機越獄了,以反編譯他們的應用,並追查可能在其AppDelegate中使用的URL解析邏輯。 您可以從那里嘗試構建一個URL,每次都可以使用該URL成功打開他們的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM