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

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景