Unity自动化打包后在MacOS上无法调用pod install ps:pod command not found

  • 背景
    • macOS 安装 Cocoapods (自行百度)
      • pod setup 失效处理方案
    • macOS 上 terminal 实现 pod install
      • 报错 pod : command not found 常见原因
    • unity 打包后执行 System.Diagnostics.Process.Start() 无法调用 pod install 报错 pod : command not found
  • 原因
    • unity process 无法找不到可执行文件
  • 方案
    • 创建软连接 ln -s /usr/local/bin/pod /usr/bin/pod
    • 把 /usr/local/bin 路径添加到系统默认的path中
    • shell 文件调用时候使用全路径 /usr/local/bin/pod install

背景

macOS 安装 Cocoapods (自行百度)

pod setup 失效处理方案

  • pod setup 虽然没有报错并且秒成功 但其实已经失效了
  • 这一步安装正常会花很久
pod setup //这个是官方推荐的方法不过已经失效了
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk //需要翻墙
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk //国内清华镜像

macOS 上 terminal 实现 pod install

报错 pod : command not found 常见原因

  • 没有在配置环境变量
sudo vi ~/.bash_profile
//插入
export PATH=/xxxxxxxx(ruby绝对路径)/bin:$PATH
export PATH=/bin:/usr/bin:usr/sbin:usr/local/bin:$PATH //(系统环境有错的也可以修复 本质就是让shell在运行的之后可以去指定路径寻找可执行文件)
//按一下esc 再按shift+z+z 保存退出
  • terminal 中输入 source ~/.bash_profile 回车刷新配置文件即可

unity 打包后执行 System.Diagnostics.Process.Start() 无法调用 pod install 报错 pod : command not found

     strPathToBuiltProject = "xxxxx打包输出路径, 在.xcodeproj那一级"var strWorkFileName = "work.sh";var strWorkContent = "#!/bin/bash\nexport LANG=en_US.UTF-8\npod install\nopen 'Unity-iPhone.xcworkspace'";var strWorkFilePath = NgTool.PathCombine(strPathToBuiltProject, strWorkFileName);File.WriteAllText(strWorkFilePath, strWorkContent); //这里写入可执行文件 和Podfile文件同级System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();startInfo.FileName = "/bin/bash";startInfo.Arguments = strWorkFileName;startInfo.WorkingDirectory = strPathToBuiltProject;//Podfile的父级startInfo.RedirectStandardOutput = true;startInfo.RedirectStandardError = true;startInfo.UseShellExecute = false;startInfo.CreateNoWindow = false;startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;string info = proc.StandardOutput.ReadToEnd();if (!string.IsNullOrEmpty(info))Debug.Log($"StandardOutput={info}");string err = proc.StandardError.ReadToEnd();if (!string.IsNullOrEmpty(err))Debug.LogError($"StandardError={err}");System.Diagnostics.Process proc = System.Diagnostics.Process.Start(startInfo);proc.WaitForExit();

原因

unity process 无法找不到可执行文件

  • unity 的 Process 里调用的方法只能是系统默认方法 即在 usr/bin/ 中的方法 没有办法调用用户安装的库或插件即 usr/local/bin 中的方法

方案

创建软连接 ln -s /usr/local/bin/pod /usr/bin/pod

把 /usr/local/bin 路径添加到系统默认的path中

  • terminal 输入 sudo launchctl config user path /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

  • 重启电脑

  • 原文链接: The command will set the default environment and add /usr/local/bin to the PATH variable of the system’s default environment. Hence, the executables under /usr/local/bin are callable from the default configuration.

shell 文件调用时候使用全路径 /usr/local/bin/pod install

【Unity Xcode Mac pod command not found】相关推荐

  1. 【unity shader 入门精要 读书笔记】透明

    一.透明 1.透明度测试[Alpha Test] 它采用一种"霸道极端"的机制:只要有一个片元的透明度不满足条件[通常是小于某个阈值],那么它对应的片元就会被舍弃.被舍弃的片元将不 ...

  2. 【Unity导入MySql.Data.dll报错】

    Unity导入MySql.Data.dll报错 错误的起因,想用Unity对MySQL操作.操作参考了勤诚勇毅的帖子 链接: https://blog.csdn.net/qq_43333567/art ...

  3. 【unity shader 入门精要 读书笔记】折射

    当光线从一种介质[例如空气]斜射入另外一种介质[例如玻璃]时,传播方向一般会发生改变. 当给定入射角时,可以使用 斯涅耳定律[Snell's Law]来计算反射角. 当光从介质 1 沿着和表面法线夹角 ...

  4. 【Unity主程手记(摘录)】第一章(二) - Dictory 底层源码剖析

    第一章(二) - Dictory 底层源码剖析 提示:个人学习总结,如有错误,敬请指正. 文章目录 第一章(二) - Dictory 底层源码剖析 一.Dictory 1.底层数据结构 2.Add - ...

  5. 【Unity Shader 消融效果_案例分享】

    1.实现逻辑 消融效果主要是利用了Shader中的clip()函数,也就是透明测试功能,在ASE中叫"Opacity Mask". 消融效果是基于一张"Noise&quo ...

  6. 【Unity Shader 描边效果_案例分享】

    1.实现逻辑 描边效果Shader有多种实现方式,可以通过后处理和MatCap实现. 这次主要想展示的是通过两个Pass实现. 当Shader中有多个Pass时,渲染流程会安装顺序依次执行,于是后面的 ...

  7. 卡通风格的渲染【Unity Shader入门精要14.1】

    卡通渲染的方法之一:基于色调的着色技术(tone-based shading).P288 实现中,我们往往会使用 漫反射系数 对一张一维纹理进行采样,以控制漫反射的色调 .(7.3节中用渐变纹理实现过 ...

  8. 【k8s】kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl

    登录一个已有的pod,执行ping 本文是之前文章的姐妹篇 kk exec -it nginx-deploy-5878ddd45b-nzsdv – sh 命令换了 kubectl exec [POD] ...

  9. 【Unity开源项目精选】UniRx:Unity中的响应式编程

    洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 本篇文章首发于我的公众号:洪流学堂 今天给你分享一个Unity开源项目,我们一起来看看吧! UniRx是什么? UniRx ( ...

最新文章

  1. com.android.builder.packaging.DuplicateFileException
  2. sql server 2008学习2 文件和文件组
  3. php strstartwith,PHP8新增的三个字符串函数 str_contains, str_starts_with, str_ends_with
  4. flex 鼠标放在组件上变手型
  5. 窥探JBoss Fuse 6.1的新功能
  6. Resin-IOException: write() forbidden after writer is closed
  7. mysql5.6-5.7性能调优
  8. python提供的内置函数有哪些_python内置函数介绍
  9. Flutter拓展 在Android studio中导入Flutter项目报错
  10. 智能图形开发板SmartGLCD
  11. Node.js中zlib模块的压缩/解压详解
  12. [心得]最重要的事情只有一件!精华笔记
  13. creo三维生成二维图_proe5.0三维图转二维图
  14. 流程管理——免费BPM软件
  15. python连连看_Python 连连看连接算法
  16. manjaro wechat
  17. Win10更新系统,VirtualBox与win10不兼容处理办法
  18. 如何绕开对通用VMware虚拟机检测
  19. IntelliJ IDEA 下集成SVN
  20. 1月书讯:Hello 2021! (下)

热门文章

  1. query.uniqueResult() 和 query.getSingleResult()
  2. 职高中计算机应用怎么样,梓潼县五年一贯制职高如何选,选择计算机应用
  3. java 调用 finalize_java的finalize()函数
  4. Ceph 创建/删除存储池、设置存储池副本数
  5. 关于windows设备 \Device\HarddiskVolume3及其故障报错处理。
  6. 第四届中国软件工程大会(CCSE 2007)即将召开
  7. 关于教育机器人领域的浅谈
  8. 贝儿的伤感爱情空间日志发布:宝贝,快回头吧,我等你
  9. 这年头大家都在做什么生意呢?
  10. 快速删除Excel文本中的空格