首页 > 其他分享 >Flutter 和 RN 的iOS 打包部署

Flutter 和 RN 的iOS 打包部署

时间:2024-02-24 16:46:47浏览次数:22  
标签:上架 App iOS Flutter 选择 RN height Xcode Store

前沿

现在科技的发展,现在多端适配已经成为趋势,

 

关于打包和发布的文字描述

进入项目目录:
在终端中切换到React Native或者Flutter项目的根目录。

打开 Xcode 项目:
打开Xcode并在菜单中选择 File -> Open,然后选择React Native项目中的 .xcworkspace 文件。

步骤 2: 配置 Build Settings
选择 Target:
在Xcode中选择项目导航器(左侧导航栏),选择项目的Target。

配置 Signing & Capabilities:

在 Signing & Capabilities 中,选择 Automatically manage signing。
选择你的开发者账号。
步骤 3: 设置 Bundle Identifier 选择 Target: 在Xcode中选择项目导航器,选择项目的Target。 设置 Bundle Identifier: 在 General 选项卡中,设置应用的 Bundle Identifier。 步骤 4: 配置 App Icon 和 Launch Screen 设置 App Icon: 在Xcode中选择 Assets.xcassets,然后拖动应用图标到对应的图标位置。 配置 Launch Screen: 在 General 选项卡中,选择 Launch Screen File。 步骤 5: 配置 Build Scheme
选择 Scheme: 在Xcode左上角选择当前的Scheme,确保选择的是 Release。

步骤 6: 构建并打包应用 选择 Device 或 Simulator: 在Xcode中选择目标设备或模拟器。 选择 Product -> Build: 在Xcode菜单中选择 Product -> Build 来构建应用。 步骤 7: 生成和导出 IPA 文件
选择 Product -> Archive: 在Xcode菜单中选择 Product -> Archive 来生成归档。 打开 Organizer: 在Xcode中选择 Window -> Organizer。 在 Organizer 中找到生成的归档。 导出 IPA 文件: 在 Organizer 中,选择 Distribute App。 选择 App Store Connect,然后按照提示完成导出。

步骤 8: 上架到 App Store 登录 App Store Connect: 登录 App Store Connect。 创建 App Store 上架记录: 在 App Store Connect 中,创建一个新的上架记录(App Store Connect -> My Apps -> [Your App] -> + Version or Platform)。 上传 IPA 文件: 在上架记录中,选择 + 按钮,上传生成的 IPA 文件。 填写上架信息: 在 App Store Connect 中,填写应用的上架信息,包括描述、截图等。 提交审核: 提交应用进行审核,等待审核通过。 上架: 审核通过后,可以选择上架应用。

 

下面是图文


关于打包发布这个: 需要公司的或者个人的账号

 然后用Xcode 打开文件

 

 

 

 

 

在flutter 和RN中 如果想和native 交互 的话

在IOS的目录下的

 .h 是iOS 的声明文件,.m是实现文件

所以在.M 文件下

#import "NativeInterfaceTest.h"
@implementationNativeInterfaceTest

RCT_EXPORTMODULE(); // 给暴露给RN方法调用
如果想让这个module中的所有方法都在主线程上运行,开启下面的方法

//-(dispatch_queue_t)methodQueue
return dispatch getmain_queue();

// 获取iOS bar 的高度
RCTEXPORTMETHOD(getStatusBarHeight:(RCTResponseSenderBlock)caliback) {   CGsize statusBarSize =[[UIApplication sharedApplication]   statusBarFramel.size;   CGFloat height =MIN(statusBarSize.height,statusBarSize.width);

  NSLog(@"status bar height:%f",height);
  callback(@[[NSNull nuli],@(@"height":[NSNumber numberWithFloat:height]}]);
}

@end

然后在RN页面里面调用

引入NativeMoules, 访问原生的接口

 

 然后写个组件  NativeInterfaceTestButton 来调用 原生的 

NativeModules.NativeInterfaceTest; 这个方法就OK了

 

标签:上架,App,iOS,Flutter,选择,RN,height,Xcode,Store
From: https://www.cnblogs.com/yf-html/p/18031190

相关文章

  • Semantic Kernel 学习笔记:体验基于 prompt function 实现的 Plugin
    在一个SemanticKernelplugin中可以创建两种类型的function,分别是nativefunction与promptfunction(之前叫semanticfunction)。下面这款plugin中给C#method添加了[KernelFunction]attribute,就是nativefunctionpublicclassLightPlugin{publicboolIsOn......
  • Kubernetes配合Jenkins实现轻量自动持续集成
    Kubernetes配合Jenkins实现轻量自动持续集成原创 王先森sec 王先森Sec 2024-02-1913:16 北京 听全文这是一个分享运维,DevOps,安全等知识的微信公众号。王先森Sec王先森Sec分享运维,DevOps,安全等知识。23篇原创内容公众号背景介绍在当今的软件开......
  • Kubernetes ConfigMap挂载导致容器目录中的文件被覆盖
    容器的/apps/pero/src/resources/文件夹下有多个文件,如果挂载一个文件进去,会把其他文件都覆盖掉,只剩挂载的文件按如下修改即可volumeMounts:-name:pero-configmountPath:/apps/pero/src/resources/application.propertiessubPath:a......
  • Kubernetes leader election 源码分析
    0.前言Kubernetes:kube-scheduler源码分析介绍了kube-scheduler调度Pod的逻辑。文中有一点未提的是,在Kubernetes集群中,kube-scheduler组件是多副本,单实例运行。仅有一个副本作为leader运行,当发生故障时,其它副本会抢占为leader继续运行。这种机制通过leaderelect......
  • [Rust] Implicitly returning values from functions
    Codehaserror:fnmain(){letanswer=square(3);println!("Thesquareof3is{}",answer);}fnsquare(num:i32)->i32{num*num;}Error:⚠️Compilingofexercises/functions/functions5.rsfailed!Pleasetryagain.Here&#......
  • flask+gunicorn的小型缓存实现
    为了提高flask的查询速度,构想先把数据放在一个字典中,然后将这个字典作为缓存使用,后来遇到gunicorn多进程不能共享变量的问题(广义上多进程共享变量都是困难的),后来想过采用redis作为缓存数据,但配合我的场景使用起来太麻烦,后来又继续研究共享变量的问题,起初搜索到multiprocessing模......
  • Vue 中引入 axios 后报错
    vue报错:Moduleparsefailed:Unexpectedtoken(5:2)Youmayneedanappropriateloadertohandlethis具体错误信息如下:Moduleparsefailed:Unexpectedtoken(5:2)Youmayneedanappropriateloadertohandlethisfiletype.||exportdefault{|...utils,|......
  • [Rust] Handle errors in Rust using Pattern Matching
    Inthislessonwe'llexplorehowtounwrapa Result typeusingalanguagefeaturecalledPatternMatching. usestd::io;fnmain(){letmutfirst=String::new();io::stdin().read_line(&mutfirst).unwrap();letmuta:u32=......
  • 读论文-基于序列模式的电子商务推荐系统综述(A Survey of Sequential Pattern Based E
    前言今天读的论文为一篇于2023年10月3日发表在《算法》(Algorithms)的论文,这篇文章综述了基于序列模式的电子商务推荐系统,强调了通过整合用户购买和点击行为的序列模式来提高推荐准确性、减少数据稀疏性、增加推荐新颖性,并改善推荐系统的可扩展性。文章详细分析了现有推荐系统的......
  • pip安装时WARNING: Ignoring invalid distribution -XX的解决办法
    安装一些包出现的问题如下:原因:原因是后面对应的目录文件夹下有不合法的文件存在,造成这个问题的原因很可能是原先下载包的过程中因为电脑没电关机了导致下载中断,导致出现了temp文件导致解析失败了。d:\app\anconda\envs\pytorch\lib\site-packages解决办法:将目录文件夹下含有......