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. Activity Service 数据相互操作
  2. python切片语法-Python字符串切片操作知识详解
  3. excel SUBTOTAL函数使用详解
  4. Java 8 Friday:让我们弃用那些旧版库
  5. 5G毫米波三大自然缺陷
  6. hsv 直方图均衡化_Opencv从零开始 - 「启蒙篇」- 直方图、直方图均衡和反向投射...
  7. 网页抢东西插件_强烈推荐一款Chrome插件DownFaster 一键下载网页资源
  8. ACM之八数码问题----BFS搜索----数独游戏的模拟(下)
  9. 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,基数下标的元素不变
  10. windows 域的安装方法
  11. OSITCP/IP参考模型
  12. js 正则匹配邮箱_比较正宗的验证邮箱的正则表达式js代码详解
  13. 电脑小问题四:知网CAJ格式转下载PDF格式
  14. 图说报告 | “智能+”的终极版图:数字孪生世界
  15. c语言共有34种运算符,C语言运算符与表达式
  16. IT 软件开发最常用英语单词总汇
  17. mysql数据库命令备份还原
  18. 上|中国股市九大伪元宇宙概念股
  19. linux 如何通过进程号找到文件路径
  20. 520特辑 | 狗粮之下,没有一个程序员是无辜的...

热门文章

  1. 辅助修改Blog模板的资料和工具
  2. 手语操《听我说,谢谢你》致敬“逆行者”
  3. Power BI十大视觉效果,知多少?
  4. Ubuntu安装Unetbootin iso制作工具
  5. 计算机Logical_test公式,excel中if函数的logical_test是公式,怎么写if公式?
  6. 泛域名解析和域名解析的区别+DNS
  7. VS2022 scanf返回值被忽略怎么办
  8. 大学计算机实验报告一齐鲁工业大学,计算机网络实验一
  9. ExternalInterface的call函数返回null的原因分析(AS2) 1
  10. STM32 IAP 串口在线升级源码详解