2014-10-06 43 views
0

在我的應用程序中,我想分享購物清單。比方說,我想和大家分享購物清單兩種不同的方式:用schema url,這將使我的應用程序在其他設備上使用UIActivityViewController以不同格式提供數據

  1. 通過AirDrop,並接收應用程序添加共享項目的購物清單。
  2. 通過email,它發送一個email與購物清單上的項目作爲HTML document表格格式。

因此,根據活動類型是AirDrop還是email,可以共享兩個不同的字符串。下面的代碼無法正常工作,在某種意義上說,它始終是schema URL被罰,甚至email

url = [@"myapp://shoppinglist?apple=12&orange=5" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[url] applicationActivities:nil]; 
[self presentViewController:controller animated:NO completion:nil]; 

我挖了一點,但不能找出如何基於的方法來發送不同內容分享。

我的問題是如何去做我在這裏描述的UIActivityViewController?或者它是否可行 - 是否UIActivityViewController是爲此目的而設計的,還是具有靈活性?

回答

1

您希望創建並共享符合UIActivityItemSource的兩個對象,其中一個返回HTML,另一個返回URL。然後,當請求該項目的委託回調被調用時,檢查選擇哪種活動類型(Facebook,Mail,AirDrop等),並且如果該項目不適用,則返回零。

因此,在AirDrop的情況下,只有URL的項目源將返回非零值。你可以看看airdrop sample code來獲得一些如何實現UIActivityItemSource的例子。

+0

美麗,謝謝! – 2014-10-09 20:21:21

相關問題