iOS app唤起微信进行分享时出现“未验证应用”【附代码】

今天爱分享给大家带来iOS app唤起微信进行分享时出现“未验证应用”【附代码】,希望能够帮助到大家。

问题的原因

由于苹果iOS 13系统版本安全升级,为此openSDK在1.8.6版本进行了适配。 1.8.6版本支持Universal Links方式跳转,对openSDK分享进行合法性校验。

PS:现在openSDK出了最新的版本1.8.7,新增了自检函数checkUniversalLinkReady:,可以帮助开发者排查SDK接入过程中遇到的问题,在哪一步出错了(共7步,见接入文档https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html#jump4)。

问题的解决办法

1.配置Universal Links

1)常见并编辑一个名为apple-app-site-association,无需后缀名,务必符合标准的json格式,格式如下:

{

  "applinks": {

"apps":[],

"details": [

  {

"appID": "你的app的teamID + Bundle Identifier",

"paths": ["*"]

  }

]

  }

}

2)将apple-app-site-association文件发给服务器端的同事,让他上传到域名的根目录下或者.well-known的子目录下(这里的域名必须要是可访问的域名,由服务器端的同事给到)。

2.在app里面配置通用链接

1)首先检查一下Xcode-Targets-Signing&Capabilities 是否有Associated Domains,如果没有,需要去开发者账号在identifer里选择跟当前Xcode所用bundle identifier相同的那一组,进去之后,将Associated Domains前面的方框打上勾,如果已经打勾了,配置如下:

2)实现AppDelegate里支持通用链接的实现方法

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {

  return [WXApi handleOpenUniversalLink:userActivity delegate:self];

}

3)修改微信注册方法

由[WXApi registerApp:kAppid]改为[WXApi registerApp:kAppid universalLink:kUniversalLinks],这里的universal links为第一步第2)里服务器同事给的链接地址

4)配置info.plist

这里如果是从旧版更新WechatOpenSDK1.8.6/7版本的话,需要在这个里面调用微信里的这个方法,并且在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在 “info”标签栏的“LSApplicationQueriesSchemes“添加weixin和weixinULAPI

5) 微信开放平台配置Universal links

需要把服务器同事给的地址填写到app iOS信息Universal Links,同时app的下载地址也一定要填写app在app store的地址,填写好后保存,开放平台需要审核,可能要等一段时间Universal Links才能生效,我就是昨天下午设置好没生效,今天早上来才生效。

3.检查是否配置好的Universal links是否生效

生效的标准结合这两个文档https://docs.qq.com/doc/DZHNvSGJLS3pqbHNl的步骤和https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html#jump4提供的自检过程

4.如果以上步骤都已经完成,并且自检正确,再分享出去,就不会再出现“未验证的应用”字样了。

人已赞赏
IOS

苹果账号被封号,如何申诉恢复开发者资格【详细讲解】

2020-10-19 14:46:03

IOS

用Instrument优化动画性能常用功能详解

2020-10-19 15:09:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();