日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Xamarin.Forms 中iOS通过URL Scheme判断应用是否安装

發(fā)布時間:2024/4/17 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xamarin.Forms 中iOS通过URL Scheme判断应用是否安装 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Xamarin.Forms 中iOS通過URL Scheme判斷應(yīng)用是否安裝

在移動應(yīng)用開發(fā)中,經(jīng)常需要判斷一個app是否安裝,iOS中有什么方式可以判斷app是否安裝呢?

這里介紹通過Url Scheme來判斷應(yīng)用是否安裝。
Url Scheme在這里就不詳講了,可以看文章URL Schemes 使用詳解。

首先我們來看看在原生iOS開發(fā)中Objective-C如何編寫判斷代碼:

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]]){NSLog(@"install--"); }else{ NSLog(@"no---"); }

?

如果已經(jīng)安裝了該應(yīng)用,那么可以通過如下方法打開它:

[[UIApplication sharedApplication] openURL:url];

?

注意事項(xiàng):
Scheme白名單問題(無法判斷手機(jī)是否安裝微信等)

-canOpenURL: failed for URL: "weixin://app/wxdaae92a9cfe5d54c/" - error: "This app is not allowed to query for scheme weixin"

原因如下:

iOS 9系統(tǒng)策略更新,此外應(yīng)用需要在“Info.plist”中將要使用的URL Schemes列為白名單,才可正常檢查其他應(yīng)用是否安裝。

接下來就是如何轉(zhuǎn)換成Xamarin中的代碼:
  1. 首先定義接口

public interface IOpenClientService {bool CanOpenClient(string path); }

?

  • 在iOS項(xiàng)目中實(shí)現(xiàn)
  • public bool CanOpenClient(string path) {try{NSUrl url = new NSUrl(path);return UIApplication.SharedApplication.CanOpenUrl(url);}catch{return false;} }

    ?

  • 通過DependencyService使用,打開App直接用Device.OpenUri方法即可。
  • bool canOpenUrl = DependencyService.Get<IOpenClientService>().CanOpenClient(url); if(canOpenUrl) Device.OpenUri(new Uri(url));

    ?

    這樣就能滿足我們的需求啦!

    轉(zhuǎn)載于:https://www.cnblogs.com/devin_zhou/p/9675332.html

    總結(jié)

    以上是生活随笔為你收集整理的Xamarin.Forms 中iOS通过URL Scheme判断应用是否安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。