一、打开苹果开发者后台
找到对应的bundleId
,点进去,勾选Associated Domains
二、准备apple-app-site-association
文件,注意:文件不能有任何后缀,包括.json
文件内容如下
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamID.应用BundId",
"paths": [ "/app/*" ]
}
]
}
}
其中teamID
在苹果账号中查找https://developer.apple.com/account
apple-app-site-association
文件文件放的位置网上有很多文章说明,这里不做赘述
三、Xcode配置
1、设置Associated Domains

将域名写入 Domains
,格式如下applinks:
你的域名,不需要https
2、Xcode Info
——> URL Types
展开点击加号
Identifier写入 weixin
URL Schemes写入微信开放平台移动应用中绑定的appID
3、Xcode Info
——> Custom IOS Target Properties
——> LSApplicationQueriesSchemes
张开添加item项
添加value为weixin的项
添加value为wechat的项
添加value为weixinULAPI的项
4、Xcode ——> Target
——> Build Settings
搜索Other Linker Flags
点击加号
添加 -ObjC
、-all_load
5、AppDelegate.m 或者 SceneDelegate.h 文件(重要‼️)
引入#import <WXApi.h>
- 首先,微信唤起App,App一定会收到系统回调。请确认系统回调是Scheme回调还是Universal Links回调。
- 如果是Scheme回调,请检查是否走了UISceneDelegate(XCode11构建的项目),或是UIApplicationDelegate。它们的回调方法分别是
- (void)scene:(UIScene *)scene openURLContexts:(NSSetUIOpenURLContext *> *)URLContexts;
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionaryUIApplicationOpenURLOptionsKey, id> *)options;
- 如果是Universal Links回调,同样也检查是否走了UISceneDelegate(XCode11构建的项目),或是UIApplicationDelegate。它们的回调方法分别是
- (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArrayidUIUserActivityRest
oring>> * __nullable restorableObjects))restorationHandler
- 因为考虑兼容旧版本微信,因此无论Scheme或Universal Links回调都必须处理。 在重写回调方法后,需要分别调用WXApi的handleOpenUrl和handleOpenUniversalLink方法
示例:
- (voidscene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity {
return [WXApi handleOpenUniversalLink:userActivity delegate:self
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:void(^)(NSArrayidUIUserActivityRest
oring>> * __nullable restorableObjects))restorationHandler {
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
四、微信开放平台配置
1、进入开放平台添加应用
2、申请接口信息分享到朋友圈、发送给朋友、微信登录等接口信息
3、修改开发信息,IOS平台、IPad平台的Universal Links配置
五、flutter项目启动配置
universalLink
与微信后台配置的相同
await fluwx.registerWxApi(
appId: "微信开放平台移动应用的AppId",
doOnAndroid: true,
doOnIOS: true,
universalLink: "配置Xcode的域名(https://xxxx.com/)"