首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拼音修改project.pbxproj

拼音修改project.pbxproj
EN

Stack Overflow用户
提问于 2012-10-11 15:48:56
回答 1查看 1.4K关注 0票数 5

我正在编写一个用ruby自动修改iOS项目的脚本。添加一些文件后,我需要修改project.pbxproj文件以保存项目中的更改。

我找到了一种将pbxproj文件解析为json的方法:

代码语言:javascript
复制
json = JSON.parse(`plutil -convert json -o - "#{filename}"`)

但是在修改了json之后,我想恢复这个过程,将更改保存为pbxproj格式。有人知道怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2014-02-20 04:14:13

似乎没有一种方法可以直接将JSON转换回pbxproj文件格式,但是Xcode会将xml1格式的数据作为有效的项目文件读取。

Library to read/write pbxproj/xcodeproj files?的公认答案的启发,我决定尝试使用项目转换后的JSON运行Xcode。Xcode给了我一个错误,告诉我项目无效。当我使用plutil将JSON转换成XML时,Xcode读得很好。当我观察文件内容时,我发现当Xcode加载它时,它停留在XML中,但是当我更改Xcode中的任何值时,它使用pbxproj格式重写了文件。它似乎重新排列了框架和库的顺序,但这可能是因为我处理的原始pbxproj是由Unity3D生成的。

下面是如何自动转换、操作并随后使用pbxproj文件的大致方法:

代码语言:javascript
复制
#!/bin/sh
plutil -convert json -r -o project.json -- project.pbxproj
ruby my_script.rb < project.json > project-modified.json
plutil -convert xml1 -o project-modified.xml -- project-modified.json
cp project-modified.xml project.pbxproj

我不知道是否有一种简单、自动的方法可以让Xcode将修改后的文件恢复到原来的格式,但是当文件是XML格式时,调用xcodebuildxcrun应该没问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12834668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档