我正在尝试为我的RN Expo应用程序构建应用程序剪辑。有没有什么办法可以做到不弹出?(我想不是,但我认为值得一问)。
ygya80vv1#
现在有一个项目可以让你做到这一点:https://github.com/bndkt/react-native-app-clipreact-native-app-clip是一个Expo Config插件。配置插件允许您将本机代码添加到Managed Expo应用程序。配置插件将在构建过程中对本机项目进行必要的更改。来自README:
react-native-app-clip
警告从0.0.35版本开始,react-native-app-clip需要Expo SDK 48和React Native 0.71。
Expo配置插件,为Expo构建的iOS应用程序生成应用程序剪辑。
将其安装到您的项目中:
npx expo install react-native-app-clip
字符串在应用的Expo配置(app.json或app.config.js)中,确保react-native-app-clip已添加到插件列表中。您可以选择提供名称选项,该选项将确定您的App Clip在iOS中的显示名称。如果您没有在此处提供值,则该值将是您的应用名称,并附加“Clip”。
"expo": { "name": "my-app", "plugins": [ ["react-native-app-clip", { "name": "My App Clip" }] ] }
型
*groupIdentifier(字符串):配置应用程序组以在应用程序剪辑和完整应用程序之间共享数据(请参阅Apple Developer Docs)*deploymentTarget(string):设置应用程序剪辑的部署目标。如果您将其设置为“16.0”,则应用程序剪辑可以为15 MB而不是10 MB。*requestEphemeralUserNotification(boolean):启用应用程序剪辑的通知(请参阅Apple Developer Docs)*requestLocationConfirmation(boolean):允许应用程序剪辑访问位置数据(请参阅Apple Developer Docs)*appleSignin(boolean):为应用程序剪辑启用“使用Apple登录”*excludedPackages(string[]):要从应用程序剪辑的自动链接中排除的包,以减少捆绑包大小(请参阅下文)。
import { isClip, displayOverlay, setSharedCredential, getSharedCredential, } from "react-native-app-clip";
**isClip()**允许确定代码当前是否在应用剪辑内运行,并可用于为完整应用和应用剪辑应用不同的内容和行为。**displayOverlay()**显示原生iOS横幅,用于在App Clip中推广完整应用(参见Apple Developer Docs)。**setSharedCredential()和getSharedCredential()**允许将App Clip中的登录数据共享到完整版App,这样用户在下载完整版App后就无需再次登录(参见Apple Developer Docs)。
请注意,您必须在Apple Developer配置文件中为App Clip注册新的App ID。在“证书、标识符和配置文件”下,转到“标识符”,单击加号图标并选择“应用程序ID”以创建新的应用程序ID。选择“应用程序剪辑”作为类型,并在下一个屏幕上,选择您的主应用程序作为“父应用程序ID”,并输入剪辑作为产品名称(至关重要的是,产品名称是“剪辑”,没有其他。在页面底部,Apple显示了App Clip Bundle ID的预览。如果主应用的捆绑包ID为com.example.my-app,则应用剪辑捆绑包ID现在应为com.example. my-app. Clip。
App Clips无法使用Expo Go或expo-dev-client进行测试。测试App Clip的最佳两种方法似乎如下:
首先通过运行expo run:ios并在Simulator中打开应用程序来构建开发客户端。完成此操作后,您可以运行expo run:ios --scheme并选择App Clip方案(“... Clip”)以打开App Clip。你也可以在你的项目包中添加一个额外的脚本。json:
expo run:ios
expo run:ios --scheme
"scripts": { "clip": "expo run:ios --scheme my-appClip" }
型现在,您只需在终端中输入“npm run clip”即可打开App Clip。
在Expo项目文件夹中运行expo prebuild -p ios(请参阅https://docs.expo.dev/workflow/expo-cli/#expo-prebuild),以生成包含所有本机源代码的ios文件夹。然后在Xcode中打开文件ios/my-app.xcworkspace(my-app是您的应用程序的名称)。在你的项目中,你应该找到两个目标,一个像你的应用一样命名(例如“my-app”)和具有“Clip”后缀的一个(例如,“my-app”)。“my-appClip”)。对于这两个目标,在“Signing & Capabilities”选项卡中选择一个团队,并确保Xcode选择了一个签名证书。然后,使用菜单栏,选择“产品”,然后选择“方案”,您应该会看到菜单底部列出了两个主题,以两个目标命名。选择以“剪辑”结尾的方案。现在您可以构建并运行应用程序剪辑(使用菜单栏通过“产品”,然后是“运行”或使用快捷方式R)。
expo prebuild -p ios
ios/my-app.xcworkspace
您可以构建应用并将其提交到App Store(请参阅https://docs.expo.dev/build/introduction/),以使用TestFlight测试App Clip。请参阅Apple的开发者文档,了解如何测试App Clips:https://developer.apple.com/documentation/app_clips/testing_the_launch_experience_of_your_app_clip。
1条答案
按热度按时间ygya80vv1#
现在有一个项目可以让你做到这一点:
https://github.com/bndkt/react-native-app-clip
react-native-app-clip
是一个Expo Config插件。配置插件允许您将本机代码添加到Managed Expo应用程序。配置插件将在构建过程中对本机项目进行必要的更改。来自README:
react-native-app-clip
警告从0.0.35版本开始,react-native-app-clip需要Expo SDK 48和React Native 0.71。
Expo配置插件,为Expo构建的iOS应用程序生成应用程序剪辑。
安装
将其安装到您的项目中:
字符串
在应用的Expo配置(app.json或app.config.js)中,确保react-native-app-clip已添加到插件列表中。您可以选择提供名称选项,该选项将确定您的App Clip在iOS中的显示名称。如果您没有在此处提供值,则该值将是您的应用名称,并附加“Clip”。
型
附加参数:
*groupIdentifier(字符串):配置应用程序组以在应用程序剪辑和完整应用程序之间共享数据(请参阅Apple Developer Docs)
*deploymentTarget(string):设置应用程序剪辑的部署目标。如果您将其设置为“16.0”,则应用程序剪辑可以为15 MB而不是10 MB。
*requestEphemeralUserNotification(boolean):启用应用程序剪辑的通知(请参阅Apple Developer Docs)
*requestLocationConfirmation(boolean):允许应用程序剪辑访问位置数据(请参阅Apple Developer Docs)
*appleSignin(boolean):为应用程序剪辑启用“使用Apple登录”
*excludedPackages(string[]):要从应用程序剪辑的自动链接中排除的包,以减少捆绑包大小(请参阅下文)。
原生能力
型
**isClip()**允许确定代码当前是否在应用剪辑内运行,并可用于为完整应用和应用剪辑应用不同的内容和行为。
**displayOverlay()**显示原生iOS横幅,用于在App Clip中推广完整应用(参见Apple Developer Docs)。
**setSharedCredential()和getSharedCredential()**允许将App Clip中的登录数据共享到完整版App,这样用户在下载完整版App后就无需再次登录(参见Apple Developer Docs)。
App Store搭建前
请注意,您必须在Apple Developer配置文件中为App Clip注册新的App ID。在“证书、标识符和配置文件”下,转到“标识符”,单击加号图标并选择“应用程序ID”以创建新的应用程序ID。选择“应用程序剪辑”作为类型,并在下一个屏幕上,选择您的主应用程序作为“父应用程序ID”,并输入剪辑作为产品名称(至关重要的是,产品名称是“剪辑”,没有其他。在页面底部,Apple显示了App Clip Bundle ID的预览。如果主应用的捆绑包ID为com.example.my-app,则应用剪辑捆绑包ID现在应为com.example. my-app. Clip。
如何测试App Clip
App Clips无法使用Expo Go或expo-dev-client进行测试。测试App Clip的最佳两种方法似乎如下:
在模拟器中运行
首先通过运行
expo run:ios
并在Simulator中打开应用程序来构建开发客户端。完成此操作后,您可以运行expo run:ios --scheme
并选择App Clip方案(“... Clip”)以打开App Clip。你也可以在你的项目包中添加一个额外的脚本。json:型
现在,您只需在终端中输入“npm run clip”即可打开App Clip。
使用Xcode构建App Clip并在连接的设备上打开
在Expo项目文件夹中运行
expo prebuild -p ios
(请参阅https://docs.expo.dev/workflow/expo-cli/#expo-prebuild),以生成包含所有本机源代码的ios文件夹。然后在Xcode中打开文件ios/my-app.xcworkspace
(my-app是您的应用程序的名称)。在你的项目中,你应该找到两个目标,一个像你的应用一样命名(例如“my-app”)和具有“Clip”后缀的一个(例如,“my-app”)。“my-appClip”)。对于这两个目标,在“Signing & Capabilities”选项卡中选择一个团队,并确保Xcode选择了一个签名证书。然后,使用菜单栏,选择“产品”,然后选择“方案”,您应该会看到菜单底部列出了两个主题,以两个目标命名。选择以“剪辑”结尾的方案。现在您可以构建并运行应用程序剪辑(使用菜单栏通过“产品”,然后是“运行”或使用快捷方式R)。使用EAS Build进行生产构建,并通过TestFlight进行测试
您可以构建应用并将其提交到App Store(请参阅https://docs.expo.dev/build/introduction/),以使用TestFlight测试App Clip。请参阅Apple的开发者文档,了解如何测试App Clips:https://developer.apple.com/documentation/app_clips/testing_the_launch_experience_of_your_app_clip。