react-native ios Android 打包 以及 Ios 证书 签名问题

本文主要是介绍react-native ios Android 打包 以及 Ios 证书 签名问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mai一、ios  

查看当前可用设备 xcrun simctl list devices

    修改名称  info.plist 文件下:  CFBundleDisplayName 下的名称:

   修改图标:  图标工厂 iOS一键生成所有尺寸的应用图标/启动图 - 知乎,生成你需要的图标,在XCode 打开项目,images.xcassets 下 AppIcon 里的各种图标 类型中

   修改启动页面 :  添加storyboard,   在view里制作你要展示的效果 即可

   在手机上运行

  打包: xcode - product ->schema ->editSchema ->run  下的 build Configtion 改成 release ,再返回点击run

          npx react-native run-ios --configuration Releas

      详细过程可参考 react-native之ios详细打包步骤及上传苹果开发者中心---------小白的天堂_怎么已经打好包了,怎么上传到开发者账号_qq_386605092的博客-CSDN博客

Ios 证书 签名,如何打正式ipa包 及遇到的问题?

 ① ios 打正式包时 遇到这个问题 Use of undeclared identifier 'RNSplashScreen'?

#import "RNSplashScreen.h"  // 导入启动页组件库 ,把此行移到这个位置 就不报错了
#ifdef FB_SONARKIT_ENABLED
#import <FlipperKit/FlipperClient.h>
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>

② Failed to register bundle identifier: The app identifier "*** *** ***" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again. 

   解决方案: 在你的开发者账号 中添加你的bundle identifier,然后选择你的team 

    

二、Android 打包

修改名称:android/app/src/main/res/valuse/strings.xml目录下

修改icon: 图标工厂 iOS一键生成所有尺寸的应用图标/启动图 - 知乎,生成你需要的图标,拿android  部分替换 android/app/src/main/res/ 下 重合的部分

修改启动页:参考网址下载相关内容:GitHub - crazycodeboy/react-native-splash-screen: A splash screen for react-native, hide when application loaded ,it works on iOS and Android.

                     在修改内容时,并没有修改MainApplication.java 的内容,也能运行成功

                   在android/app/src/main/res下新建layout文件,launch_screen.xml,添加以下内容 ,启动页名称为 launch_screen.png, 在MainActivity.java,添加下面这张图内容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/launch_screen">
</LinearLayout>
import android.os.Bundle; 
import org.devio.rn.splashscreen.SplashScreen; // ---添加protected void onCreate(Bundle savedInstanceState) {SplashScreen.show(this);  // <--添加这一句super.onCreate(savedInstanceState);     
}

在android/app/src/main/res下新建drawable_hdpi, drawable_mdpi, drawable_xhdpi,drawable_xxhdpi文件,里面分别存放图片launch_screen,
分辨率分别为文章开头提到的分辨率,
在你首个页面增加

import SplashScreen from 'react-native-splash-screen';componentDidMount() {SplashScreen.hide(); //关闭启动屏幕    
}

启动页这部分参考内容出处:react-native APP图标和Splash(Android) - 简书

打包apk:cd android 中,执行   ./gradlew assembleRelease 命令即可成功打包(注 没有签名文件的需先生成签名文件:官网快捷入口: 打包发布 · React Native 中文网)

这篇关于react-native ios Android 打包 以及 Ios 证书 签名问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133255

相关文章

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如