问题标签 [pbxproj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
592 浏览

plist - 老式 plist 短绒

我正在编写一个生成 .xcodeproj 文件的应用程序。它生成了一个 .pbxproj 文件,但是在 Xcode 中打开它时,我收到一条错误消息,“无法打开,因为无法解析项目文件。” 仅此而已。

是否有可靠的应用程序来解析旧式 plist 的语法?

如果它需要我使用低级 Cocoa API,我可以接受,但至少有一些指针?

0 投票
2 回答
816 浏览

xcode - 如何在 Unity 4.6.1 和 XCode 6.1.1 中修复 Facebook SDK 6.x 的 Facebook PostProcessBuild PBXParser

在为 iOS 构建时,Facebook 的 PostProcessBuild 方法 OnPostProcessBuild 会尝试解析一些数据来做一些事情,比如将 Facebook 库添加到最终的 XCode 项目中。

解析器接收到错误的文件格式。在其 Decode() 方法中,它需要以以下开头的数据:

像这样:

但相反,它会接收一个包含 project.pbxproj 内容的字符串,格式正确。像这样:

有其他人遇到这种情况吗?我发现这些问题是相关的,但没有一个能回答真正的问题。

FacebookSDK for Unity iOS Mach-O 链接器错误 - 未定义符号 _iosLogin,

http://forum.unity3d.com/threads/mach-o-linker-error-with-facebook-sdk.239085/

关于如何解决它的任何想法?

0 投票
1 回答
80 浏览

iphone - Worklight 无法更新 pbxproj 的内容

我创建了我的项目,并在 Eclipse 中的 pc 上构建了所​​有内容。然后我在 Mac 上的 XCode 中打开 iPhone 环境的 xcodeproj 文件并构建我创建的应用程序。我必须将 Enable BitCode 切换为 No 才能构建它,但之后它可以毫无问题地构建和部署。

问题是,如果我在更新应用程序时多次这样做,我最终在 Worklight 中遇到了一个错误,上面写着:

FWLST1040E: iphone 构建失败:源处理过程 - 无法使用环境“iphone”构建更新 pbxproj 文件应用程序“XXXXXXXXXXX”的内容,但出现错误。

在这一点上,我无法做任何事情来阻止这个错误的发生。我将退出我的最后一次更改,但它仍然错误。我可以解决这个问题的唯一方法是删除整个项目并从头开始。然后,我在初始构建之前进行所有更改,因此我从上次中断的地方开始,并且构建良好。

任何想法是什么导致了这个错误,或者除了删除所有内容并每天从头开始几次之外我还能做什么?

Worklight 6.2 Eclipse Luna 4.4.2 Xcode 7.0.1

0 投票
0 回答
38 浏览

git - .pbxproj merge conflicts without git marks

I just pulled from remote repo to my local repo and .pbxproj merge conflict happens. However when I opened it I didn't find any git marks( which means <<< === >>> ) so I don't know how to resolve this conflict. Any idea?

0 投票
0 回答
63 浏览

xcode - 你能列出 Xcode 项目中缺少的 IBOutlets 吗?

是否有一种工具可以在导致运行时崩溃之前自动找出是否缺少任何 IBOutlets?

0 投票
0 回答
191 浏览

ios - Xcode pbxproj 文件的结构已更改

出于某种原因——可能与最新的 Xcode 升级到 7.2.1 版本有关——我的 pbxproj 的结构发生了变化,正因为如此,当我即将合并 PR 时,它只是向我展示了一个大冲突整个文件。

在我看来,原因是其中一个具有这种结构(发布文件的开头):

另一个结构(文件的开头):

知道如何解决吗?

0 投票
0 回答
451 浏览

ios - 在 Xcode iOS .pbxproj 文件中,12 字节的 id 是如何生成的?

如果您在文本编辑器中打开.pbxproj文件,您会看到如下内容:

这篇文章声称它们是UUID,但如果是这样的话,它们不应该完全不同吗?如果看起来只有第 4 个字节在变化,其余的保持不变。那么它的一部分是否生成并且由于某种原因字节发生了变化?为什么?

这个 UUID 是什么意思?是否可以用您自己的 Xcode 生成的 UUID 替换 UUID?(而且还在工作?)

0 投票
1 回答
116 浏览

xcode - Xcode 位置不能正常工作

每当我向项目添加新文件时,都会添加默认位置“相对于组”和有问题的路径(例如):

这不像是我将文件放在另一个用户的目录中。在这种情况下,../myUsername解析为.。与所有其他双点相同。您可以将其简化如下:

  1. ../../../../../MyUsername/Folder/Foo/Foo/Foo/Bar.swift
  2. ../../../../Folder/Foo/Foo/Foo/Bar.swift
  3. ../../../Foo/Foo/Foo/Bar.swift
  4. ../../Foo/Foo/Bar.swift
  5. ../Foo/Bar.swift
  6. Bar.swift

因为它实际上是沿着这条路走,然后以同样的方式返回。相当于cd ../; cd ~-在shell中运行。

我希望路径很简单Bar.swift。这在使用共享代码时会导致很多问题,因为其他人在不同的地方使用不同的用户名拥有该项目。

到目前为止,我发现的唯一解决方案是手动编辑project.pbxproj文件。是什么导致了这个问题,我应该怎么做才能解决它?

笔记:我怀疑这可能与用户名的情况有关,因为用户名与路径一样远。

编辑:这是一个截图(红色是我的用户名,绿色是应用程序名称):

屏幕截图显示了上面解释的路径和真实路径(完全一样,除了它是 <code>/Users/MyUsername/</code>...

此外,cd进入目录并运行realpath ../../../../../MyUsername/Folder/Foo/Foo/Foo/Bar.swift返回Bar.swift

编辑 2:我对用户名区分大小写的怀疑是正确的!看看当我将位置设置为时会发生什么Absolute Path

小写,下树,大写。 完整路径为大写。

以前,用户名只有标题大小写(../MyUsername,/Users/MyUsername等)。然而,现在 Xcode 似乎走了:

  1. 从小写用户名向下(到组文件夹)的目录树...
    1. 过去包含项目的目录...
    2. 进入包含文件的目录...
  2. 备份到用户目录...
  3. 使用 Title case 用户名使用相同的路径。

我认为这是 Xcode 中的一个错误。如果我不得不猜测,内部发生的事情是:

  1. Xcode 获取文件的绝对路径
    • 添加时从文件选择器
    • 通过按位置部分中的文件夹图标从文件选择器中重新定位
    • 不知何故从创建一个新文件(?)
  2. 此路径使用 Title case 用户名。
  3. Xcode 获取绝对组路径
    • 从它的记录(project.pbxproj?)
  4. 由于某种原因,此路径使用小写用户名
  5. Xcode 试图找出 #1 相对于 #2 的路径。
    1. 例如,如果文件的路径是/foo/bar/baz.swift,组是/foo,则预期结果是bar/baz.swift
    2. Xcode 从组的绝对路径开始(因为结束路径应该是相对于组的)。
    3. Xcode 查看两条路径并比较它们。/Users/myusername/Folder/Foo/Foo/Foo/Users/MyUsername/Folder/Foo/Foo/Foo/Bar.swift
    4. Xcode 发现唯一的区别是:
      • 在路径的末尾(一个有文件名,另一个没有)
      • 在用户名中(myusername vs MyUsername)
    5. Xcode 使用双点 ( ) 向上移动到文件树上最远的问题..//Users/myusername/Folder/Foo/Foo/Foo/../../../../..,或者干脆/Users
    6. Xcode 再次启动,但这次使用文件的绝对路径的剩余部分(Xcode 永远不会返回,/Users因为它对于两个路径都是相同的)。
    7. Xcode 一直到文件名,使用 Title case 用户名。/Users/myusername/Folder/Foo/Foo/Foo/../../../../../MyUsername/Folder/Foo/Foo/Foo/Bar.swift.

当位置设置为Relative to Group,组的路径是隐含的,所以之前的路径简单地变成:

../../../../../MyUsername/Folder/Foo/Foo/Foo/Bar.swift.

熟悉的?


无论如何,我该如何解决这个问题??????

0 投票
1 回答
1869 浏览

ios - 对 project.pbxproj 文件中已删除框架的引用

我最近从我的 iOS 项目中删除了一个框架,而是通过依赖项管理器(CocoaPods)安装它。但是,我注意到,在检查我对源代码管理的更改时,删除了对框架的一些引用,但添加了一个带有绝对路径的引用。从差异(第一行被删除,第二行添加到我的项目文件):

我的本地机器上的该路径没有文件,我能够在单独的目录和具有不同目录结构的其他机器上进行新的克隆,并且能够在没有任何警告或错误的情况下构建项目。框架的物理文件不再存在于项目目录中(当我在 Xcode 中从项目中删除文件时,我选择了“移至垃圾箱”)。

这是正常的吗?如果没有,我该如何删除这些引用?

需要明确的是,项目中的任何地方都没有引用此框架。这包括链接框架和库、链接二进制与库、目标依赖项、嵌入框架等。

0 投票
0 回答
91 浏览

git - 变基时制表符神奇地转换为两个空格

当我重新定位我的分支时,即使我的两个来源都有制表符缩进的内容(对于我project.pbxproj在 Xcode 中的内容),我也会遇到合并冲突。

好的,所以,我在这里:

我基于:

(见archiveVersion制表符缩进,ascii 09

正在重新设置的内容:

(应用第二个,引入缩进问题)

(先申请)

看,所有版本都包含 ascii09并且没有空格 (ascii 20)。

问题可能是什么?

这是变基时分支的结构:

在此处输入图像描述

应某人的要求: