Flutter 和 RN 的iOS 打包部署

前沿

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

 

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

进入项目目录:
在终端中切换到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了

 

posted @ 2024-02-24 16:31  -鹿-  阅读(5)  评论(0编辑  收藏  举报