Mac OS 10.5 shell 使用defaults read读取文件显示does not exist

Snip20191014_4.png

Mac os 升级到10.15后打包tweak项目失败,原因在于执行iosod这个sh时出错,以下方法为根据key读取plist中value:

function readDefaultsValue() # args: plistPath, propertyName
{$setCmdlocal plistPath="$1"local propertyName="$2"local valuevalue=`defaults read "${plistPath%.*}" "$propertyName"` || \panic $? "Failed to read defaults property $propertyName from $plistPath"# return #echo "$value"
}function getVersionFromVersionPList() # args: plistPath
{$setCmdlocal plistPath="$1"local versionlocal majorlocal minorlocal bugFixlocal stagelocal pkgRevmajor=`readDefaultsValue "$plistPath" "Major"`minor=`readDefaultsValue "$plistPath" "Minor"`bugFix=`readDefaultsValue "$plistPath" "BugFix"`stage=`readDefaultsValue "$plistPath" "Stage"`pkgRev=`readDefaultsValue "$plistPath" "PackageRevision"`version="$major.$minor"[[ "$bugFix" == "" ]] || version+=".$bugFix"[[ "$stage" == "" ]] || version+="$stage"[[ "$pkgRev" == "" ]] || version+="-$pkgRev"# return #echo "$version"
}

上面的方法作用在于读取PackageVersion.plist中的key和value,等同于,在终端中读取plist文件

swae@swaedeMacBook-Pro ~ % defaults read /Users/swae/Desktop/work/Tweak/tweakpro/tsprite/tsprite/PackageVersion.plist  Major
2019-10-14 23:04:42.792 defaults[7909:308363]
The domain/default pair of (/Users/swae/Desktop/work/Tweak/tweakpro/tsprite/tsprite/PackageVersion.plist, Major) does not exist

从上面的输出可以看出,读取这个plist文件不存在,而经过我的验证使用defaults read读取大部分的plist文件都显示does not exist,但是当我使用defaults write 时,却显示exiting无法写入,尴尬,下面为输入:

swae@swaedeMacBook-Pro ~ % defaults write /Users/swae/Desktop/work/Tweak/tweakpro/tsprite/tsprite/PackageVersion.plist  Major1 200
2019-10-14 23:08:47.076 defaults[7976:310697] Could not write domain /Users/swae/Desktop/work/Tweak/tweakpro/tsprite/tsprite/PackageVersion.plist; exiting

无奈中,我尝试使用defaults write 写入一个新的plist文件,然后再使用defaults read读取却是正常的:

swae@swaedeMacBook-Pro ~ % defaults write /Users/swae/Desktop/work/Tweak/tweakpro/tsprite/tsprite/PackageVersion1.plist method 1000
swae@swaedeMacBook-Pro ~ % defaults read /Users/swae/Desktop/work/Tweak/tweakpro/tsprite/tsprite/PackageVersion1.plist method
1000

以上是我在Mac os 10.15上实际操作得到的结果,我把锅甩给了新系统,但是当我在Mac os 10.14.6的终端上操作时,依旧是以上结果,目前还不清楚原因,待近一步排查。

下面两张图为了说明这两个plist的不同

无法通过defaults_read打开的plist.png

通过defaluts_write创建的plist,可以通过defaults read 读取key。

Snip20191014_3.png

无法通过defaults_read打开的plist

最终我使用新建的PackageVersion1 .plist替换调旧的,重新执行build for->profiling,问题暂时解决:

Snip20191014_6.png

作者:多网
链接:https://www.jianshu.com/p/a933e25a7c91
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Mac OS 10.5 shell 使用defaults read读取文件显示does not exis相关推荐

  1. Mac OS 10.12 - 如何关闭Rootless机制?

    一,进入恢复模式(Recovery):具体操作方法参见下面这篇博客: http://www.cnblogs.com/sunylat/p/6414697.html 二,关闭Rootless机制 1,选择 ...

  2. MAC OS 10.11.1虚拟机免费下载已安装Xcode7图片后有下载地址

    MAC OS 10.11.1虚拟机免费下载已安装Xcode7图片后有下载地址 注意:已经下载过MAC OS 10.10.5虚拟机免费下载(可安装Xcode7) 链接:http://blog.csdn. ...

  3. MAC OS 10.10.5虚拟机免费下载(可安装Xcode7)

    MAC OS 10.10.5虚拟机免费下载(可安装Xcode7) MAC OS 10.10.5虚拟机免费(可安装Xcode7) 下载地址:链接:  http://pan.baidu.com/s/1dD ...

  4. pyQt4 for mac OS 10.8

    pyQt4 for mac OS 10.8 2013-04-27 06:59 5744人阅读 评论(0) 收藏 举报  分类: python/PyQt  python(50)  版权声明:本文为博主原 ...

  5. VMWare 8 安装 Mac OS 10.7 (Lion)版 【转】

    首先要做个声明,文章是写给苹果系统的初学初装者. 技术发展太快,所以这类文章,还是要看看时效,本人在初装Mac的时候,参考网上很多Baidu排名在前的文章,没有一个适合我的,不是谈的版本低(过时的:V ...

  6. MAC OS 10.12 安装任意来源应用

    MAC OS 10.12   System Prferences(系统设置) --->Security & privacy(安全通用)  ->general(通用) --> ...

  7. 【运维开发】Mac OS(10.13.6)使用 vagrant+VirtualBox +centos7搭建k8s集群

    Mac OS(10.13.6)使用 vagrant+VirtualBox +centos7搭建k8s集群步骤 环境准备工作 下载VirtualBox 地址:https://www.virtualbox ...

  8. 2017年6月Mac OS 10.11安装文档

    [2017年6月4日] Mac OS X 10.11(EI Capitan)之所以不能用U盘安装,是因为制作为安装盘后的大小接近8GB,而我最大的U盘实际容量只有7.6GB左右,所以只能选择硬盘安装. ...

  9. VMware 安装Mac os 10.11 苹果系统

    闲来无事,突然就想要体验体验苹果系统,但是windows系统用着比较顺手,又不想直接买Mac book,就想起来vmware这款强大的虚拟机,但是虚拟机里面默认是没有苹果系统的,这时候需要激活,接下来 ...

  10. HHD+SSD重装mac os 10.9记录

    U盘重装mac os 10.9记录 下载链接:http://pan.baidu.com/share/link?shareid=58054259&uk=3308240072#path=%252F ...

最新文章

  1. 编程25年后,现实将我打回菜鸟程序员的起点
  2. 全球的weex资源都在这里
  3. Vue 中的 v-cloak 作用及用法-vue页面加载时会闪烁
  4. 事务消息应用场景、实现原理与项目实战
  5. JS高效关键字搜索---转
  6. sizeof运算符运算结果小汇
  7. 多域资源整合之基础准备--DNS配置
  8. Qt|C++-OpenGL绘制三角形带
  9. linux修改文件夹及其下面所有文件的权限(文件夹权限)
  10. 使用Attribute简单地扩展WebForm
  11. 黄金分割法与单峰函数求极值
  12. JAVA编程语言的基础知识(2)
  13. Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)
  14. ESP32 开发笔记(十一)使用 ESP32 做为 WebServer
  15. Flutter图片处理之高斯模糊
  16. 用 python 写了一个随机任务抽取器
  17. pdf怎么转图片,可得到高清图
  18. Valine魔改教程——添加自定义表情和QQ头像
  19. 净水器哪个牌子好,家庭必备电器推荐
  20. R语言将字符串中的数字提取出来作为值

热门文章

  1. 【Ubuntu下JAVA安装流程】
  2. 2018 ACM-ICPC 宁夏邀请赛
  3. 你知道什么是半自动驾驶系统吗
  4. 东华大学2021计算机OJ题——基本练习(15 abc数字)
  5. 类微信门户界面框架设计
  6. 手把手教你如何用python进行数据分析!(附四个案例)
  7. 深度学习实战之【电影评论分类】:二分类问题
  8. iBooker 技术评论 20230831
  9. 【MQ】小白和你一起看消息队列
  10. Zookeeper-实战