新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
关于app内跳转其他app总结以下几点:
成都创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都网站设计、成都网站建设, 我们的网页设计师为您提供的解决方案。
tips:不同app可以有相同的scheme,app跳转回跳转最近打开过的app
1、白名单如果不设置对应的scheme,
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"scheme://"]]];无论设备是否安装对应scheme的app,都不会跳转其他app
2、白名单如果不设置对应的scheme,
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"scheme://"]]将直接返回NO(无论是否安装对应scheme的app)
3、白名单设置了对应的scheme,
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"scheme://"]]];如果安装了对应scheme的app,将会跳转最近打开的scheme的app
4、白名单设置了对应的scheme,
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"scheme://"]]将直接返回YES
5、白名单无论是否设置对应的scheme,如果不判断canOpenURL: 而是直接openURL:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"scheme://"]];
如果设备安装了对应scheme的app,则会直接跳转,没有的话没反应(openURL: 函数返回值为NO)
这东西很简单,知道的也就那么回事。
1、首先在info.plist中添加URL types,设置URL Schemes,如下图。
2、打开手机浏览器Safari,网址输入:“ scheme://xxx ”,scheme是刚才在APP info.plist设置的scheme字符,xxx随意,按照自己需求,如下图。
3、在APPdelegate添加代理方法- (BOOL)application:(UIApplication *)app handleOpenURL:(nonnull NSURL *)url,打印URL值,如下图。
4、三部曲就这样,美滋滋,一看就会。
在iOS 9之前,我们从外部启动App都是通过URL scheme的方式进行跳转,开发者通过配置info.plist文件中的 URL Types 可以轻松实现跳转,而且现在苹果还对这种跳转的方式加了一个提示框:“是否打开XXX”,跳转过程也显得不流畅。
每一个项目里面都会有一个info.plist配置文件。找到info.plist,右键选择Add Row,然后选择URL types。添加URL Schemes
既然已经配置好URL Schemes,那么我们可以来款速测试一下,我们设置的URL Schemes是否有效。打开Safari,在地址栏里输入:iOSDevTip:// 即可唤起app
打开注册iOSDevTip的APP格式为: URL Scheme://URL identifier,直接调用URL Scheme也可打开程序, URL identifier是可选的。
而UniversalLink跳转方式可以实现无缝跳转,当浏览器识别到预先指定好的URL,就可以直接唤醒App,不需要在浏览器中打开再去点击其他按钮。只支持iOS 9以上
1.1 苹果开发者账号开启Associated Domains服务
1.2 在xcode工程的Capabilities - Associated Domains中添加跳转域名
当我们的App在设备上第一次运行时,如果支持Associated Domains功能,那么iOS会自动去GET定义的Domain下的apple-app-site-association文件。
需要留意iOS会先请求
如果此文件请求不到,再去请求 。 所以如果想要避免服务器接收过多GET请求,可以直接把apple-app-site-association放在./well-known/目录下。
很简单,所以直接上图片了
注意:需要请求一下位置权限或者通知权限,才可以跳进自己的app设置里面,如果没有任何权限请求,就只能跳到系统的设置界面
跳转到其他的界面的字段
About — prefs:root=Generalpath=About
Accessibility — prefs:root=Generalpath=ACCESSIBILITY
AirplaneModeOn— prefs:root=AIRPLANE_MODE
Auto-Lock — prefs:root=Generalpath=AUTOLOCK
Brightness — prefs:root=Brightness
Bluetooth — prefs:root=Generalpath=Bluetooth
Date Time — prefs:root=Generalpath=DATE_AND_TIME
FaceTime — prefs:root=FACETIME
General— prefs:root=General
Keyboard — prefs:root=Generalpath=Keyboard
iCloud — prefs:root=CASTLE iCloud
Storage Backup — prefs:root=CASTLEpath=STORAGE_AND_BACKUP
International — prefs:root=Generalpath=INTERNATIONAL
Location Services — prefs:root=LOCATION_SERVICES
Music — prefs:root=MUSIC
Music Equalizer — prefs:root=MUSICpath=EQ
Music VolumeLimit— prefs:root=MUSICpath=VolumeLimit
Network — prefs:root=Generalpath=Network
Nike + iPod — prefs:root=NIKE_PLUS_IPOD
Notes — prefs:root=NOTES
Notification — prefs:root=NOTIFICATIONS_ID
Phone — prefs:root=Phone
Photos — prefs:root=Photos
Profile — prefs:root=Generalpath=ManagedConfigurationList
Reset — prefs:root=Generalpath=Reset
Safari — prefs:root=Safari Siri — prefs:root=Generalpath=Assistant
Sounds — prefs:root=Sounds
SoftwareUpdate— prefs:root=Generalpath=SOFTWARE_UPDATE_LINK
Store — prefs:root=STORE
Twitter — prefs:root=TWITTER
Usage — prefs:root=Generalpath=USAGE
VPN — prefs:root=Generalpath=Network/VPN
Wallpaper — prefs:root=Wallpaper
Wi-Fi — prefs:root=WIFI
Setting—prefs:root=INTERNET_TETHERING
我们都知道,苹果系统使用沙盒机制来保障用户的隐私和安全,一个App只能访问自己的沙盒,不能访问其他app的信息。这样保证了app的用户的信息的同时,也阻碍了不同的App 之间的信息交流。所以苹果提供了一个可以在App之间跳转的方法:URL Scheme。一个App可以设置自己的URL Scheme,另外的App可以使用这个URL Scheme,然后通过系统的OpenURL来打开该App。就像网页一样,通过一个网址来跳转到另一个网址。
举例如下:
shemeUseApp://ipOrYuming:8080/path?param1=xxxparam2=yyy
使用上述所说的 schemeUseApp:// 在浏览器中进行测试。本文使用的是模拟器,在浏览器中输入 schemeUseApp:// ,点击搜索。
在跳转的 URL scheme 中可以添加参数,比如: shemeUseApp://ipOrYuming:8080/path?param1=xxxparam2=yyy 。
在工程的 AppDelegate.m 文件中,重写方法 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionaryUIApplicationOpenURLOptionsKey,id *)options ,并在方法中进行URL的分析拆解,就可以得到相关的参数。