You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodenameOne iOS通过AppLink打开应用时AppArg为null问题求助

iOS端通过关联域AppLink冷启动应用时AppArg为null问题

当通过关联域(associated domains)功能指定的AppLink打开iOS应用时,获取到的AppArg为null。没有出现已知issue中描述的start()方法连续调用的情况,当前场景中start()仅被调用一次,且传入的AppArg为null。

我在start()方法中执行的第一行代码为:

Display.getInstance().getProperty("AppArg",null);

通过自定义scheme打开应用时该逻辑运行正常,但通过AppLink打开时失效。
注:我原本使用ios.glAppDelegateBody和ios.afterFinishLaunching构建提示处理推送通知打开应用的逻辑,猜测该逻辑可能干扰AppArg读取,因此临时移除相关配置重试,问题依旧存在。
目前我能想到的唯一解决方案是编写原生代码获取启动URL,但我更希望AppArg能按照预期正常工作,测试环境为搭载iOS 15.1的iPhone 6s。

更新1

当应用在后台运行时,点击AppLink打开应用会触发start、stop、start的流程,两次调用start()时AppArg都正常填充了AppLink内容,该场景下无问题。但如果应用已被关闭,点击AppLink打开应用时,start()仅被调用一次,且AppArg为null,这就是目前的问题。

shouldApplicationHandleURL方法从未被调用,我已经在主应用类中实现了该方法并返回true。
我还尝试添加原生代码来获取冷启动场景下的AppLink,尝试将如下代码添加到glAppDelegateBody构建提示中,但构建失败,报错提示continueUserActivity重复定义,代码如下:

- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
  restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {

    NSURL *url = userActivity.webpageURL;
    // Handle url
  
  return YES;
}

目前我已经没有其他思路了,恳请大家帮忙,谢谢。

更新2

我按照官方文档的要求,在域名托管的apple-app-site-association文件中添加了如下片段:

"activitycontinuation": {
"apps": [ <我的应用ID> ]
}

添加后问题依旧存在。该文档还要求添加类似activitycontinuation:example.com的关联域权限,因此我在ios.associatedDomains构建提示中新增了该配置,配置内容如下:

ios.associatedDomains=applinks:mydomain.com,activitycontinuation:mydomain.com

配置后问题仍未解决,构建可以正常完成,但我不确定CodenameOne是否实际对activitycontinuation服务做了处理,问题依旧没有解决。

更新3

该问题是由于didFinishLaunchingWithOptions中调用Facebook SDK导致方法返回NO,阻止了continueUserActivity执行并获取启动URL,有问题的代码如下:

return [[FBSDKApplicationDelegate sharedInstance] application:application
                                didFinishLaunchingWithOptions:launchOptions];

当CodenameOne配置中存在facebook.appId构建提示时就会执行上述代码,我移除该配置后问题就解决了,但如果你的应用需要使用Facebook Connect功能,就不能采用该方案。

内容的提问来源于stack exchange,提问作者Adrian Ionescu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:06:03