这几天在做分享和支付、遇到分享或者支付后无法回调的问题、
就是返回自己的app、回不去了、很蛋疼、对照集成文档看了又看、
蛋疼的找不到有何少写的地方、最后得知、没有给自己app自定义url scheme
一、url scheme 为何东东?
注解:iPhone Sdk 可以把你的app和一个自定义的url scheme 绑定。该url scheme可以从浏览器或者别的app启动你的app
就是这么神奇的一个东东。
二、如何给自己app注册一个url scheme?
我本人用的xcode版本为Version 7.1.1 (7B1005)
three方法:
1、在info.plist中加定义两个键值
如下图:
(1)、添加一个URL types的键值
(2)、其中有个一个URL identifier 格式为Reverse Domain Name 例如 com.myapp.app
(3)、再添加一个URL scheme 定义一个值 随意字符串、还是可区分比较好
2、自己app的target ->info->Url types 加号添加 如图 :
3、点击plist 并选择 open as ->source code xml 编辑
把下面这段放进去
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.appofme.app</string> (url identifier)
<key>CFBundleURLSchemes</key>
<array>
<string>appofme</string> (url scheme)
</array>
</dict>
</array>
这是三种自定义URL scheme的方法
测试一下、1、在xcode中运行真机
2、app被安装后、自定义URL scheme就会被注册
3、在手机浏览器safari 地址中输入 myapp:// 走起后会弹出一个alert 是否从你的app中打开链接、这就是跳转到app啦
首先保证你自定义的url被实现 或者存在、所以在appdelegate.m必须实现如下方法:
- - (BOOL)application:(UIApplication *)application
- openURL:(NSURL *)url
- sourceApplication:(NSString *)sourceApplication
- annotation:(id)annotation
还有一个就是要把自定义的URL scheme 加入 第三方平台的应用信息中 、快去试试吧!