首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试从app剪辑到完整app的转换

测试从app剪辑到完整app的转换
EN

Stack Overflow用户
提问于 2021-08-18 14:14:55
回答 2查看 481关注 0票数 0

我的应用程序在应用商店已经有一段时间了。现在我想添加一个应用程序剪辑,其中有一个按钮,让用户从应用程序商店下载完整的应用程序(使用SKOverlay)。此外,我希望应用剪辑传递参数到整个应用程序(这一步是至关重要的)。例如,用户名将传递给整个应用程序,并显示在主活动中。这是通过将这些信息放入应用程序剪辑的shared user defaults中,并在整个应用程序中从shared user defaults中提取这些信息来完成的。

我用这些功能创建了应用剪辑,现在我想测试从应用剪辑到整个应用程序的转换。

我尝试了3种不同的方法,但没有一种方法能让我模拟整个应用程序剪辑到全应用程序的体验:

  1. 在Xcode中运行应用程序剪辑并使用_XCAppClipURL环境变量进行测试。SKOverlay弹出,但实际上无法打开应用程序商店。
  2. 在我的测试设备上设置一个本地体验(如这里所解释的)也显示了SKOverlay,但没有让我真正打开应用程序商店。
  3. 测试飞行:我上传了构建到应用程序商店,以便使用测试飞行,并添加了一个应用程序剪辑调用URL到内部和外部测试。当你使用试飞打开应用程序剪辑时,“获取完整的应用程序”按钮实际上把我送到了应用商店,但它是应用程序的旧版本。不用说,该应用程序的旧版本与测试无关,因为它没有从shared user defaults中提取用户名所需的代码。

有没有办法让我在不向应用程序商店发布最新版本的情况下测试这一转换?

编辑:我正在使用UserDefaults和一个应用程序组。我在整个应用程序和应用程序剪辑的“签名和功能”部分定义了一个名称相同的应用程序组。并添加了以下代码:

在应用程序剪辑的场景代表中:

代码语言:javascript
复制
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

在整个应用程序的应用程序委托中:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-19 03:12:10

我也为测试这一转变而挣扎,并认为这是不可能的。这不仅是可能的,而且实际上是非常重要的测试,以使升级经验是顺利的。

以下几点:

  • 你不需要应用商店做任何事情。这是一个独立的系统。将应用程序剪辑本地构建到您的设备上(使用_XCAppClipURL),然后通过将完整的应用程序构建到相同的设备来模拟升级。
  • 如前所述,您需要使用App进行设置,并正确地使用UserDefaults API。注意:安装部分很棘手,如果您在构建完整的应用程序之后没有看到预期的数据,那么它就没有正确的设置。

有些事情需要检查:

  1. 应用程序剪辑和整个应用程序的配置文件都需要应用程序组权限。您可能有用于调试和发行配置的PPs,所以请记住这一点。
  2. 应用程序剪辑和整个应用程序的功能选项卡都需要启用app。

这两件事可能很明显,但我错了。

票数 1
EN

Stack Overflow用户

发布于 2021-08-18 14:24:25

SKOverlay不过是一个令人满意的App链接。

不可能模拟精确的流(因为在调试时,SKOverlay什么也不做),但我也不认为它是必要的。

测试流程所能做的就是通过Xcode安装应用程序剪辑,查看体验,然后通过Xcode安装完整的应用程序。

更新:

如果您希望您的剪辑和应用程序通过用户默认值共享数据,则必须使用App组

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68834102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档