我的应用程序在应用商店已经有一段时间了。现在我想添加一个应用程序剪辑,其中有一个按钮,让用户从应用程序商店下载完整的应用程序(使用SKOverlay)。此外,我希望应用剪辑传递参数到整个应用程序(这一步是至关重要的)。例如,用户名将传递给整个应用程序,并显示在主活动中。这是通过将这些信息放入应用程序剪辑的shared user defaults中,并在整个应用程序中从shared user defaults中提取这些信息来完成的。
我用这些功能创建了应用剪辑,现在我想测试从应用剪辑到整个应用程序的转换。
我尝试了3种不同的方法,但没有一种方法能让我模拟整个应用程序剪辑到全应用程序的体验:
_XCAppClipURL环境变量进行测试。SKOverlay弹出,但实际上无法打开应用程序商店。shared user defaults中提取用户名所需的代码。有没有办法让我在不向应用程序商店发布最新版本的情况下测试这一转换?
编辑:我正在使用UserDefaults和一个应用程序组。我在整个应用程序和应用程序剪辑的“签名和功能”部分定义了一个名称相同的应用程序组。并添加了以下代码:
在应用程序剪辑的场景代表中:
let username = "Oded"
guard let sharedUserDefaults = UserDefaults(suiteName: "group.fruitapp.appClipToFullApp") else {
return true
}
if sharedUserDefaults.string(forKey: "username") == nil {
sharedUserDefaults.set(username, forKey: "username")
}
return true在整个应用程序的应用程序委托中:
guard let sharedUserDefaults = UserDefaults(suiteName: "group.fruitapp.appClipToFullApp"),
let username = sharedUserDefaults.url(forKey: "username")
else {
print("Could not find the App Group or the usename from the app clip")
return
}
print("username is \(username)")
//Do more stuff发布于 2021-08-19 03:12:10
我也为测试这一转变而挣扎,并认为这是不可能的。这不仅是可能的,而且实际上是非常重要的测试,以使升级经验是顺利的。
以下几点:
_XCAppClipURL),然后通过将完整的应用程序构建到相同的设备来模拟升级。UserDefaults API。注意:安装部分很棘手,如果您在构建完整的应用程序之后没有看到预期的数据,那么它就没有正确的设置。有些事情需要检查:
这两件事可能很明显,但我错了。
发布于 2021-08-18 14:24:25
SKOverlay不过是一个令人满意的App链接。
不可能模拟精确的流(因为在调试时,SKOverlay什么也不做),但我也不认为它是必要的。
测试流程所能做的就是通过Xcode安装应用程序剪辑,查看体验,然后通过Xcode安装完整的应用程序。
更新:
如果您希望您的剪辑和应用程序通过用户默认值共享数据,则必须使用App组。
https://stackoverflow.com/questions/68834102
复制相似问题