ios - 为什么我的 project.pbxproj 文件会更改其格式

标签 ios xcode xunique

project.pbxproj 就像 json。但是因为我使用最新的 Xcode(7.3.1),它变成了 plist。这是我的 project.pbxproj:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>archiveVersion</key>
    <string>1</string>
    <key>classes</key>
    <dict/>
    <key>objectVersion</key>
    <string>46</string>
    <key>objects</key>
    <dict>
        <key>0047E8048E5EE8D208C0B009261D5816</key>
        <dict>
            <key>fileRef</key>
            <string>A1C5C2AA97A78115584DFC22517232F2</string>
            <key>isa</key>
            <string>PBXBuildFile</string>
        </dict>
        <key>008246B8B3F0ED1F2BCDAC8B0BF9CB2F</key>

问题是我无法提交我的项目。我收到此错误:

File 'project.pbxproj' is broken. Cannot find PBXProject name.

我正在使用 Xunique 来避免冲突,也许这会有所帮助。请告诉我如何处理这个问题。非常感谢!

最佳答案

@Lumialxk

我昨天发生了一件非常相似的事情。相似之处在于我的 project.pbxproj 文件是 plist 格式,不同之处在于我没有收到 File 'project.pbxproj' is broken 消息。相反,这个问题通过合并冲突出现在我面前。冲突发生在 project.pbxproj 文件中。有一个冲突,它是文件的全部内容。换句话说,该文件有两个版本。一个在我的新分支上,它是 plist 格式的。还有一个在我们的基础分支上,它是普通的类似 JSON 的格式。无论哪种方式,这听起来都像您所看到的一样。

重要的是要注意两个分支预合并都与 Xcode 一起工作。 Xcode 似乎对 plist 格式的 project.pbxproj 文件没有问题。

我通过执行 git reset --hard HEAD 丢弃我尝试的合并解决了这个问题,这让我回到了我有一个带有 plist 项目的分支的地步。 pbxproj 文件,我可以毫无问题地构建和运行它。然后我选择了一个随机build设置(代码签名),更改了它的值然后又改回来(即我只是“触摸”它以强制 Xcode 修改它)。然后我构建了这个项目。然后在文本编辑器中重新打开 project.pbxproj 文件。 “触摸”文件后,它恢复为正常格式,不再是 plist 格式。

从那里开始一帆风顺。

感谢我的同事建议使用“触摸”方法。

我不确定是什么导致了这个问题。以下是有关我的设置的一些详细信息:

我运行的是 Xcode 7.3(所以我认为它与 7.3.1 没有任何关系)。我最近从 Cocoapods 0.39.0 升级到 1.0。我认为这是罪魁祸首。我在使用 1.0 构建一些 pod 时遇到了问题,我通过强制使用 0.39.0 解决了这个问题:

pod _0.39.0_ 安装
pod _0.39.0_ 更新

希望这对您有所帮助!

关于ios - 为什么我的 project.pbxproj 文件会更改其格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37083467/

相关文章:

iphone - sqlite 插入在 xcode 模拟器上工作但不在 iphone 上工作

ios - 使用 UIControlEventTouchDragEnter 触发按钮的方法......但不起作用?

c++ - enable_shared_from_this 不适用于 xcode 5

iphone - 如何将具有空键的 JSON 解析为 NSDictionary?

ios - UILabel 中文本之前和之后的行

ios - NSDateFormatter 将 rails 字符串转换为 NSDate 返回 nil?

ios - 从从 Parse.com 中提取的数组中获取索引 - fatal error : Cannot index empty buffer