一间杂货铺~

10月 12

iOS微信分享及从Safari跳转到App


I. 一般的操作流程

  1. 分享链接到微信(分享到朋友圈或分享给好友)
  2. 在微信中点击该链接后,在微信中展示网页,页面中有“App内打开”按钮
  3. 点击“App内打开”按钮后,在微信内进入到另外一个网页,页面中显示:“点击右上角的‘...’按钮,选择‘在Safari中打开’”
  4. Safari中打开后,会弹出提示:“在‘xxx’中打开链接吗?”,点击“打开”,自动跳转到应用内,并用某个页面展示内容

II. 实现上述操作所包含的功能

配置Information Property List

在项目的Information Property List文件中,进行URL types相关配置:

  • 微信
  • 自定义Scheme
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>weixin</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>wx......</string>
        </array>
    </dict>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLName</key>
        <string>xxxName</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>xxxScheme</string>
        </array>
    </dict>
</array>

微信分享

[WXApiRequestHandler sendLinkURL:xxxURLString 
                     TagName:nil
                     Title:title
                     Description:desc
                     ThumbImage:thumb
                     InScene:scene];

在网页中加入相关的跳转代码

在需要进行跳转的网页中加入:

<!-- 2秒后自动跳转到xxxScheme://xxx -->
<meta http-equiv="refresh" content="2;url=xxxScheme://xxx" />

但,这种方式会导致用户无法与页面进行交互。

如果想在用户触发网页上的某个元素时,进行跳转,就需要使用Location对象href属性assign()方法

href属性assign()方法的相关说明,见以下链接:

标签:微信分享, 从safari跳转到app

还不快抢沙发

添加新评论