expo SDK

深坑预警

教训

使用expo export打包时,一定要保证每个人expo-cli脚手架的版本一致。

事故现场:

我们热更新服务是在docker环境下打的,每次构建node镜像时都会使用npm install -g expo重新安装expo-cli,某一天突然jenkins打的包出问题了,查了三天才发现镜像在重装expo-cli时升级了,没有用之前的版本,解决办法也简单,让运维安装指定版本即可。

本文主要介绍expo SDK中都有哪些API,避免因为不清楚,而自己重复造轮子。至于API的使用细节,建议查看官方文档

expo SDK内有很多国内不适用的API,下面的表格就不做覆盖了

Bare app指由expo app执行expo eject后的app,此时我标记✅是指需要特殊配置(查看文档)后才能使用,标记查❌是指直接不支持Bare app,至于是否支持非expo app,查看对应文档

APIiOSiOS模拟器AndroidAndroid模拟器Bare app备注
VR----expo SDK 38开始,已废弃
加速度器
AppAuth目前看到的仅仅支持web类的第三方登录
AppLoading搭配Splash使用,优化启动体验
Appearance配置黑暗模式
AppleAuthentication苹果登录
Application获取应用的一些版本信息
ART-----expo SDK 36已废弃
Asset管理asset资产
AsyncStorage
AuthSession一种基于浏览器的身份认证,不太明白跟AppAuth有啥关系
Audio(音频)不仅可以播放还可以录制哎
AV多数需要对视频播放状态进行更好控制的应用程序,我们建议使用此命令性播放API
Video好尴尬呀,这就搞不明白AV是干嘛的了
BackgroundFetch后台执行代码
BarCodeScanner
Barometer气压计传感器
battery电池信息
blur毛玻璃
Brightness亮度调整
Calendar日历
Camera相机
captureRef生成快照
cellular蜂窝电话
constants始终不变的系统信息
contacts通讯录
crypto加密
DateTimePicker日期选择
device物理设备的系统信息,eg:制造商/型号
DeviceMotion方向传感器
DocumentPicker从系统中选择文档
ErrorRecovery处理js的crash
FaceDetector脸部探测器
FileSystem将文件下载到本地
Font从asset中加载字体,并且还支持网络字体哦
GestureHandler复杂手势处理,而且手势操作是在Native线程运行
GLView渲染2D/3D图形
Gyroscope陀螺仪传感器
haptics触觉反馈
ImageManipulator修改存储在本地文件系统上的图像
ImagePicker图片选择器
InAppPurchases仅仅在bare workflow中可用
IntentLauncher提供了一种启动Android Intent的方法。例如,您可以使用此API打开特定的设置屏幕(没看明白)
KeepAwake防止屏幕休眠
LinearGradient渐变色
Linking对非expo app中Link的扩展,主要用于通过连接来进行两者的通信
LocalAuthentication通过生物特征提示进行身份验证
Localization国际化
Location获取为止信息,可以轮询哦
Lottie通过json实现动画的库
Magnetometer磁力计传感器
MailComposer使用OS UI发送邮件
MapView
MaskedView提供一个蒙版视图,该蒙版视图仅显示与其蒙版元素中呈现的视图重叠的像素。
MediaLibrary提供对用户媒体库的访问权限,使他们可以从您的应用访问他们现有的图像和视频,以及保存新的图像和视频。您还可以订阅对用户媒体库进行的任何更新
netinfo获得有关网络连接类型和连接质量的信息
Network提供有关设备网络的有用信息,例如其IP地址,MAC地址和飞行模式状态
Notifications通知
PaymentsiOS上通过StripeApple Pay进行支付,以及在Android上通过Stripe进行支付以及通过ExpoKit进行Android Pay)
Pedometer计步器
Permissions权限
Picker提供访问系统UI以便在多个选项之间进行选择的组件。
printiOS(AirPrint)和Android打印功能
random提供用于创建强随机字节的本机接口
Reanimated提供的API可大大简化创建流畅,强大和可维护的动画的过程
registerRootComponent告诉Expo将哪个组件用作您的应用程序的根组件
SafeAreaContext更灵活的访问安全区域的API,可以在安全区域插入内容哦
ScreenCapture许您保护应用程序中的屏幕不被捕获或记录
ScreenOrientation为在设备上绘制图形的方向
SecureStore提供了一种在设备上本地加密和安全存储键-值对的方法
SegmentedControl分段按钮
Sensors访问设备传感器以测量运动,方向,压力,磁场和步数
Sharing原生自带的分享
Slider滑块
SMS使用系统 UI/app发送短信
speech文字转语音
SplashScreen启动图
SQLite数据库
StatusBar控制应用程序状态栏
StoreReview应用程序评分
Svg允许您在应用中使用SVG,并支持交互性和动画
TaskManager管理长期运行的任务
Updates
VideoThumbnails从视频文件生成图像以用作缩略图
ViewPager该组件提供布局和手势以在内容页面之间滚动,例如轮播。
WebBrowser系统WebView,用于身份验证需要使用特殊的API
WebView内置WebView
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要打包 iOS 应用程序,需要进行以下步骤: 1. 在终端中执行以下命令安装 Expo CLI: ``` npm install -g expo-cli ``` 2. 使用以下命令创建新的 Expo 项目: ``` expo init my-project ``` 3. 进入项目目录并安装依赖项: ``` cd my-project npm install ``` 4. 在终端中执行以下命令启动 Expo 开发服务器: ``` expo start ``` 5. 在启动 Expo 开发服务器后,会自动打开 Expo DevTools 界面。从这里可以运行应用程序并在 iOS 模拟器中查看。要在模拟器中运行应用程序,请点击 Expo DevTools 界面上的 "Run on iOS simulator" 按钮。 6. 要在实际的 iOS 设备上运行应用程序,请安装 Expo 客户端应用程序并扫描二维码。在 Expo DevTools 界面上,可以使用 "Publish or republish project" 按钮将应用程序发布到 Expo 服务器上。 7. 要将应用程序打包为 iOS 应用程序,请使用以下命令: ``` expo build:ios ``` 8. 执行上述命令后,Expo 将开始构建应用程序并生成用于安装和部署应用程序的二进制文件。生成的文件将位于 Expo 服务器上,可以使用以下命令下载: ``` expo build:status ``` 9. 下载文件后,可以使用 Xcode 将应用程序上传到 App Store。打开 Xcode 并导航到 "Window" > "Organizer" 界面。在这里,可以创建新的应用程序版本并将 Expo 生成的二进制文件上传到 App Store。 以上就是使用 Expo 打包 iOS 应用程序的步骤。注意,这些步骤可能会因时而异,具体取决于您的应用程序和开发环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值