Apicloud IOS使用微信SKD的问题

teaxia
2019-11-03 / 0 评论 / 111 阅读 / 正在检测是否收录...

微信的SDK自从更新了1.8.6以后在APIcloud使用wxPlus模块进行微信登录,微信分享的时候就会报一个-1未知错误。今天查了资料,发现是必须填写universalLink这个东西(看见这玩意儿一脸懵逼……)后来才知道是用来APP进行跳转的。之前是使用的URL Schemes方式跳转APP,现在为了安全问题,更改成了universalLink方式跳转,所以更新以后,我们需要重新设置一下。

一、我们准备一个有https的服务器(必须要有https)。

二、这个时候需要在服务器上制作一个apple-app-site-association文件。这个文件其实就是一个JSON对象。不需要有任何后缀。内容如下

{
  "applinks":{
    "apps":[],
    "details":[
        {
            "appID": "******",
            "paths": ["*"]
        }
    ]
   }
 }

APPID就是用前缀+bundleID的方式
出来的数据大概是USDHUS82.com.teaxia.teg这种形式的。这个在苹果开发者平台的后台就可以找到了
1176193-6a951ecb3a95a38d_看图王.png
这里面的paths是访问APP的对应页面路径,其实可以只填一个通配符就可以了
我们把准备好的apple-app-site-association文件放入我们准备好的https的服务器下面,比如我测试用的就是
https://www.teaxia.com/app

三、在微信的开发者平台,填入刚刚我们制作好的UniversalLink地址。(比如我现在的就是https://www.teaxia.com/app 不用加文件名)

四、在App Store应用管理开启Associated Domains
1176193-9c46a5edad704f5b.png
这里添加了Domains以后,还需要重新更新下载一下IOS的描述文件,描述文件的制作这里就不再阐述了,不清楚如何制作的同学,可以去这里查看https://docs.apicloud.com/Dev-Guide/iOS-License-Application-Guidance

五、在apicloud的config里面配置

<feature name="wxPlus">
    <param name="urlScheme" value="wxd0d84bbf23b4a0e4"/>
    <param name="apiKey" value="wxd0d84bbf23b4a0e4"/>
    <param name="apiSecret" value="a354f72aa1b4c2b8eaad137ac81434cd"/>
    <param name="universalLink" value="https://www.teaxia.com/app"/>
</feature>

以上的配置大家自行改成自己的配置信息

六、创建 entitlements 文件(.entitlements是xml格式的文件)
新建一个文本文档,修改内容后命名为UZApp.entitlements文件,然后将文件放置在widget网页包的res目录下,云编译时会将里面的内容添加到编译工程里面的UZApp.entitlements中。
UZApp.entitlements内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
     <dict>
        <key>com.apple.developer.associated-domains</key>
        <array>
            <string>applinks:domain.com</string>
        </array>
     </dict>
 </plist>

applinks:domain.com这个也是直接填写www.teaxia.com/app
准备好以上信息后,使用云编译打包一次就可以愉快的玩耍了:)

0

评论 (0)

取消