2011-04-12 113 views
21

只需從Android切換到iPhone即可。在Android中,我可以製作多個應用程序,並使用tabView按照意圖調用每個應用程序。iPhone SDK中是否有Android Intent概念

在iPhone中,我可以製作多個應用程序。我需要一個標籤來調用每個應用程序或應用程序視圖。 iPhone中的意圖是否有類似的概念?剛剛切換到iPhone,將所有其他項目複製到TabBar中不起作用。如果你有其他方法可以解決,我真的很感激。謝謝,

回答

20

Android和iOS在這方面有很大的不同。 Android對於讓你使用意圖混合和匹配來自其他應用的活動非常開放。 iOS不是那樣的;每個應用程序都在自己的私人空間中運行,通常甚至無法看到其他應用程序的數據,更不用說使用他們的服務了。它可能導致其他應用程序通過自定義URL運行,但這不是一回事。

您需要做的是將各種iOS應用程序的視圖控制器,視圖等代碼複製或移動到標籤欄應用程序項目中。您將把它們全部構建到一個應用程序中,並且標籤欄將在視圖控制器之間切換。

5

與iOS上的Intent最接近的概念是系統應用程序處理某些URL。見here。有可能在某一時刻註冊您自己的應用程序URL方案(請參閱this文章),但我必須承認我在最近的SDK中沒有嘗試過(IIRC Glympse鏈接可以在Glympse應用程序中打開,所以此技術可能仍然有效)。

9

Android中的意圖涵蓋了很多功能。沒有iOS的等價物。

但是,如果您的目標是啓動不同的應用程序並向其傳遞參數,則可以嘗試使用URL架構。假設您的應用AAA具有URL架構aaa://和具有URL bbb:// 的應用BBB您可以啓動應用AAA並調用bbb:// v = 1 & c = 2例如,啓動BBB並獲取參數。您甚至可以使用這些參數來控制要顯示的視圖,因此您可以在Android中擁有類似的概念,以便使用Intents調用不同的Activity。

你必須註冊在Info.plist中

9

在iOS 8中,您將擁有類似於Android Intents的內容。使用App Extensions你可以達到類似的行爲。

在不久的將來,應用程序將開始公開他們的「擴展」(如您在Android Framework中聲明清單中的Intent Filters),將由需要的應用程序使用。第一個版本允許的擴展區域爲:

  • 今天
  • 分享
  • 行動
  • 的照片編輯
  • 文檔提供
  • 定製鍵盤

這是偉大的蘋果終於發佈此功能!

1

截至2016年,蘋果已經增加了一個類似於Android的Intents框架,儘管限制更多。預計蘋果將來會增加更多內容,但現在它非常有限。 https://developer.apple.com/reference/intents

+0

iOS意圖框架似乎圍繞着Siri,即接受來自Siri和Maps的調用。它是否與普通的應用程序共享功能兼容? – Thomas 2017-08-30 03:41:09

+1

@Thomas目前不是,但它明確的設計是在將來以這種方式進行擴展 – PopKernel 2017-08-30 12:24:09