XCode的使用记录

2024-08-27 03:48
文章标签 使用 记录 xcode

本文主要是介绍XCode的使用记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、编译提示Building for iOS Simulator, but the linked and embedded framework 或者 

building for ios simulator, but the linked library libxlua.a was built for ios

解决:Buil Settings - Build Options - Validate Workspace 改为Yes
貌似Validate Workspace改为Yes之后编译完成,再改回No,也可以正常运行

2、unity导出工程到XCode模拟器运行时提示:Duplicate interface definition for class 'CAMetalLayer'

解决:找到UnityMetalSupport.h文件,将@interface CAMetalLayer : CALayer 改为 @interface CAMetalLayer (category)

3、No matching function for call to ‘objc_msgSend’

解决:使用runtime的 objc_msgSend 方法时 需要设置 Enable Strict Checking of objc_msgSend Calls 为 No

4、Typedef redefinition with different types ('void *' vs 'struct __CVMetalTextureCache *')

解决:找到CVTextureCache.mm文件,将所有CVMetalTextureRef替换为UCVMetalTextureRef

5、Command PhaseScriptExecution failed with a nonzero exit code

解决:菜单File->Project Settings->Shared Project Settings,将Build System由New Build System(Default)改为Legacy Build System(Deprecated)

6、/Users/administrator/Library/Developer/Xcode/DerivedData/Unity-iPhone-gfelmwsayndlnmgoygyvadjvzdjv/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphonesimulator/Unity-iPhone.build/Script-033966F41B18B03000ECD701.sh: line 2: /Users/administrator/LaoQ/FaBuJi/laoqU3dBuild/iOSProject/iOSProject/MapFileParser.sh: Permission denied

解决:直接给权限,命令台输入:chmod -R 777 项目文件夹路径

7、文件的添加尽量用 Create groups 和 copy item if needed,详情看区别:create groups 与 create folder references选哪个? - 简书

8、Xcode秒级build success 但未能在手机上安装解决:清理Xcode缓存,或命令shift+commad+k  清理xcode缓存

9、$(SRCROOT)和$(PROJECT_DIR)和$(inherited)和${PODS_ROOT}

$(PROJECT_DIR)代表的是整个项目,$(SRCROOT)代表的是项目根目录下

左边的animationDemo是PROJECT_DIR,一个完整工程
右边的animationDemo是SRCROOT

$(inherited):继承上一级或依赖项的配置。通过CocoaPods集成的项目,$(inherited)将会包含Pods.xcodeproj中的配置

${PODS_ROOT}:pod目录

recursive:会在相应的目录递归搜索文件

non-recursive:非递归

10、有文件的物理地址找不到变红提示,点击Identity and Type下的x按钮消除(应该是直接去掉了其旧的无效物理地址)

11、xcode的命令:iOS自动化打包 ---- xcodebuild 命令详解 - 简书

12、xcode自动打包的相关文件:ios开发证书,描述文件,bundle ID的关系 - 简书

13、xcode出包四种描述文件区别:Xcode打包archives的四个选项的具体区别 - 简书,Xcode打包生成ipa四个选项的具体区别 - 简书

14、iOS测试包实现在线安装:iOS_实现类似蒲公英、fir等发包平台 通过URL分发内测APP_wzz_1992的博客-CSDN博客 和 不通过App Store实现ios应用分发下载安装 - FeMiner - 博客园 和 实现 iOS App 在线安装(局域网OTA) - 简书

15、Unity打出的工程代码比较多,如果是手动添加引用可以先合并再添加固定引用到XCode:XCode 自动添加代码文件到项目 - 某Z的博客(未测试),虽说Unity可以用导出工程设置一些xcode工程属性配置,但是有一些有问题或者没有或者说需要更高版本才能对应到新版的xcode功能,避免受限于Unity,笔者通过PBXProjectHelper自动添加依赖引用PBXProjectHelper: 一个用Python脚本实现的操作PBXProj文件(XCode项目配置文件)的工具类库

16、真机的无线调试:Xcode真机设备无线调试_yanhaijunyan的博客-CSDN博客(需要手机开启密码)

17、Cocoapods中文镜像地址:CocoaPods | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

18、XCode安装Pod:

(1).安装rvm,无论本地有没有,ruby也一样

curl -L get.rvm.io | bash -s stable

source ~/.bashrc

source ~/.bash_profile

(2). 列出rvm的所有版本

rvm list known 

(3).选一个安装,比如我选择2.6.0的

rvm install 2.6.0

(4).如果有错误,尝试安装下面这句,安装homebrew,没错误可以不装!

安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

(5).设置默认的版本

rvm use 2.6.0 —default

若在Jenkins等构建系统上面使用pod提示找不到pod可以使用下面命令,然后重新安装pod

rvm use system

(6).安装Cocoapods

sudo gem install -n /usr/local/bin cocoapods

pod setup

(7).克隆Pod Specs(失败提示OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443试试打开页面github登陆一下账号:https://blog.csdn.net/HuangXiongjin/article/details/113941907)

git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/Specs

(8).使用pod

去到工程目录执行:

pod install --repo-update --verbose

19、mac反复提示无法验证开发者处理:在终端执行如下指令sudo spctl --master-disable,此时在设置里的安全性于隐私就会多出一项:允许从一下位置下载的APP:任何来源

这篇关于XCode的使用记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完