2015-01-04 54 views
0

我在我的擴展中用context.openURL試過了,但是被Apple阻止了。 這是他們的文檔是這麼說:使用共享擴展程序後需要打開我的應用程序。就像Dropbox和Maps.me一樣

討論: 每個擴展點確定是否支持此方法,或在何種條件下,以支持此方法。在iOS 8.0中,只有今日擴展點支持此方法。

那麼在選擇共享電子郵件中的文件後,如何打開我的應用程序? Dropbox做到了,而Maps.me做到了,所以一定有辦法。

編輯:共享擴展不是解決這個問題的方法。在評論中,湯姆用正確的東西指向我SO帖子:How does "Open With" some app in iPhone work?

回答

3

這些應用程序沒有共享擴展名。我不知道你在看什麼,但你的問題的前提是不正確的。

如果您下載Mac上Dropbox.app並解壓縮應用程序包,它包含了兩個擴展:

$ ls Payload/Dropbox.app/PlugIns/ 
DocPicker.appex/  DropboxTodayView.appex/ 

如果在Info.plist文件這些擴展一下,你會發現沒有一個是共享擴展。 DocPicker.appex是文件提供者擴展:

  <key>NSExtensionPointIdentifier</key> 
      <string>com.apple.fileprovider-ui</string> 

DropboxTodayView.appex是一個今天的擴展:

<key>NSExtensionPointIdentifier</key> 
    <string>com.apple.widget-extension</string> 

嘗試使用Maps.me應用程序一樣,你會看到它不包含任何擴展在所有:

$ ls Payload/maps.me.app/PlugIns 
ls: Payload/maps.me.app/PlugIns: No such file or directory 

蘋果目前的限制使得無法從共享擴展中打開包含應用程序。

+0

那麼,如果我給自己發送一封包含KML文件的電子郵件,我可以使用ios的共享功能'在maps.me中打開'或'在Dropbox中打開'。你覺得他們用了什麼? – P5ycH0 2015-01-05 06:03:01

+0

不共享額外資訊。 「open with」功能在很多地方都有描述,例如[在StackOverflow中](http://stackoverflow.com/questions/4517092/how-does-open-with-some-app-in-iphone-work )。現在,請您根據您的錯誤假設刪除您的[downvote?](http://stackoverflow.com/questions/27506413/share-extension-to-open-host-app/27517554#27517554) – 2015-01-05 17:45:43

+0

謝謝非常多湯姆。那個評論幫助了我。猜猜我太專注於擴展的東西來搜索在這裏打開。再次感謝。 – P5ycH0 2015-01-05 18:32:23

相關問題