[英]How can I open/send a URL to another app on iOS with a Gluon application?
我希望在自己的應用程序中利用iOS上其他應用程序中的現有功能。 據我所知,應該可以使用URL自定義方案完成: https : //developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html
現在,在充當偵聽器的TryingService
應用程序中,我正在使用RuntimeArgsService
偵聽LAUNCH_URL_KEY
。 在此應用程序的Default-Info.plist
文件中,我添加了URL Identifier
: com.tryingservice.TryingService
和URL Scheme
: outputHello
。 我應該如何設置我的“發送者” TryingService
應用程序-使用URL Scheme
打開TryingService
應用程序?
最后,我通過遵循以下示例對ios進行了自定義服務實現: http : //docs.gluonhq.com/samples/gonative/
這樣做時,在學習了一些Objective-C之后,我注意到JoséPereda在對該問題的評論中已經暗示了BrowserService
-與我自己的MyService.m
Objective-C文件相似。
在進一步調查之后,請檢查https://bitbucket.org/gluon-oss/charm-down/src/11c36e187921/plugins/plugin-browser/ios/src/main/native/Browser.m?at=default&fileviewer=file -view-default ... if ([[UIApplication sharedApplication] canOpenURL:nsUrl])
-使其無法啟動我的自定義URL方案。
通過移除if
-語句在BrowserService
的BrowserService
可以啟動已注冊的其他應用程序URL-Scheme
。 而且它無需啟動野生動物園/默認瀏覽器就可以做到。
因此,這是一個Gluon應用程序,它啟動了另一個LAUNCH_URL_KEY
應用程序(使用RuntimeArgsService
監聽LAUNCH_URL_KEY
)
José還給出了正確的格式是: outputHello://<your text here>
。 因此,我既可以將其保留為空,也可以在URL-Scheme
部分之后直接添加(例如,向文件添加URL)。
但是,由於iOS應用程序沙箱,導致無法從另一個應用程序讀取導致應用程序本地存儲的URL: ios中的沙盒是什么,如果可以的話,我可以在一個應用程序與另一個應用程序之間傳輸數據嗎?
盡管可以按照此處的建議進行操作,但應該可以“使用選項打開URL”: https : //developer.apple.com/documentation/uikit/uiapplicationopenurloptionskey?language=objc 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.