react-native - React Native:是否可以仅将 Expo 用于开发?
问题描述
我是 Expo 的新手,但到目前为止,不必打开 Android Studio / Xcode 来在本地运行我的应用程序似乎非常简洁。无需触摸这些东西,开发起来就更加方便了。
但是,我想在我的应用程序中加入应用程序购买(订阅),从我迄今为止所做的研究来看,它似乎不像 Expo 的解决方案(https://docs.expo.io/versions/latest/sdk/ in-app-purchases/ ) 非常发达。
我找到了这个用于应用内购买的 npm 包,它看起来很有希望:https ://github.com/dooboolab/react-native-iap 。然而,Expo 不支持它,而且我觉得仅仅为了这一功能就放弃 Expo 的所有好处是不值得的。
我注意到这里的问题中有一条非常有趣的评论:https ://github.com/dooboolab/react-native-iap/issues/174#issuecomment-393704277
这个人建议我可以继续使用master
Expo的分支,然后在时间准备好时按照这些步骤弹出和部署。我从来没有这样做过,但我想知道这是否可行:
在主人:
1)运行npm install --save react-native-iap
但不要运行react-native link react-native-iap
。
2)用这段代码包装我的应用内购买模块。这样你的代码在调用 IAP 方法时不会崩溃
import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
return !!NativeModules.RNIapModule;
}
3) 继续使用 Expo 进行开发,如果出现则跳过 IAP 内容!hasIAP()
在用于最终 QA / 部署的单独分支上:
1)创建一个名为的新分支detached
2) 运行expo eject
3) 运行react-native link react-native-iap
和此处列出的所有其他手动安装步骤:https ://github.com/dooboolab/react-native-iap#manual-installation
4) QA 一切
5) 部署
有没有人有过这种混合的“开发博览会,没有生产博览会”方法的经验?
解决方案
如果您弹出并使用Expo
,您可以像使用默认React-native
项目一样使用它。Android
文件夹和iOS
文件夹已创建,您将在创建它们之前输入适当的包名称。您已安装的模块和其中的模块在Expo
您弹出Expo
. 检查或文件。MainApplication.java
_ 有些事情不适用于在您弹出. 可以参考官方文档进行设置。Android
Info.list
iOS
App.json
Expo
一旦Expo
被弹出,React-native link
命令就会被出色地执行。
弹出Expo
不会改变或从模块使用中消失
推荐阅读
- r-markdown - 如何在 Rmarkdown 中居中和删除图形标题
- vue.js - Getting all ids/values in a form in vuejs
- flutter - Flutter ListView 不会占用所有空间
- python - 如何使用 Pandas 根据另一列值获取列的中位数?
- php - 为什么我无法登录?
- azure-web-app-service - 在消息端点上使用 $search 参数时未返回 Microsoft Graph API @odata.count
- azure-devops - 在 Azure DevOps 管道生成结果页面中将开玩笑警告显示为警告
- huawei-mobile-services - AppGallery Connect App Signature 上传公钥失败,出现“DSS Handle Fail”错误
- java - Android Gradle:找不到符号 Q
- node.js - Node-Cron:如何确保最后一个作业完成