本文主要是介绍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的使用记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!