ReactNative进阶(四十三)iOS项目Xcode本地联调

文章目录

一、前言

项目组应用RN技术栈开发ios应用后,应用jenkins实现ipa组包及功能验证,过程耗时。故迫切需要实现iOS应用本地热部署,为此离开不了Xcode。作为非原生开发,特梳理此文。

开发环境如下:

  • Xcode: 14.2 (Xcode 15.2 无法真机联调)
  • react-native: 0.60.3

二、本地联调

对于通过.xcodeproj打开项目,会遇到各种依赖问题,例如Uncategorized Command CompileSwift failed with a nonzero exit code、 No such module 'SnapKit'等。官网有明确提示以下信息:

提示⚠️:react-native 0.60 版本之后的主项目文件是.xcworkspace,不是.xcodeproj!

.xcworkspace与.xcodeproj的区别:

.xcworkspace和.xcodeproj都是与Xcode项目相关的文件,但在功能和用途上有一些区别:

  1. .xcodeproj:

    • .xcodeproj是Xcode项目文件的扩展名,实际上是一个包含项目配置、源代码文件、资源文件等的目录。
    • .xcodeproj文件通常用于单个应用程序的开发,其中包含了项目的设置、编译选项、代码文件等信息。
    • .xcodeproj文件在Xcode中被用来打开和管理特定的应用程序项目。
  2. .xcworkspace:

    • .xcworkspace是Xcode的工作空间文件,用于管理多个相关的Xcode项目。
    • .xcworkspace文件可以包含一个或多个.xcodeproj文件,允许同时打开、编辑和构建多个项目,方便项目之间的协作开发。
    • .xcworkspace还允许添加共享的框架、库以及其他依赖关系,方便统一管理多个项目的依赖关系。

总结来说,.xcodeproj是单个项目的工程文件,而.xcworkspace则是用于管理多个项目、依赖关系和共享设置的工作空间文件。通常在进行复杂的应用程序开发时,会使用.xcworkspace来组织和管理多个相关的项目。

三、拓展阅读

相关推荐
enjoywindstorm39 分钟前
移动端原生框架对比评测
react native
调试人生的显微镜42 分钟前
iOS开发入门:Interface Builder、基础控件及UITextField详解
后端·ios
茶底世界之下7 小时前
动态切换 nearest / linear 时,为什么不能只替换 sampler
ios·swift
殷忆枫10 小时前
基于STM32的独居老人语音/一键双模紧急呼救系统设计与实现
stm32·嵌入式硬件·xcode
传奇开心果编程12 小时前
【声明式UI开发实用技术学与练】第8课 状态提升与下放
学习·flutter·react native·ui·swiftui·composer
传奇开心果编程1 天前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
传奇开心果编程1 天前
【现代声明式UI学与练】第4课 列表渲染与 key——如何高效渲染列表、key 的作用、列表重排时的状态保持
学习·flutter·react native·ui·swiftui·android jetpack
传奇开心果编程1 天前
【Compose Multiplatform 跨端开发学与练】第5课 网络与数据层
android·网络·学习·ui·ios·kotlin·composer
茶底世界之下1 天前
视频预览切换为何会闪回旧帧:用 generation + mode identity 管住异步回调
ios·swift
老李IT笔记1 天前
从备份恢复会把管理状态带回来吗:iOS 27 之后答案变了|MDM.Plus
ios·智能手机