本文主要是介绍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 证书 签名问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!