24

在 Xcode 版本 9.1 中更新/提升版本和构建 # 时,我在执行时看到了以下内容git diff

diff --git a/star.xcodeproj/project.pbxproj b/star.xcodeproj/project.pbxproj
index c4601526..8fa3c762 100644
--- a/star.xcodeproj/project.pbxproj
+++ b/star.xcodeproj/project.pbxproj
@@ -767,7 +767,7 @@

- F4487BE11FB28C400079BAAD /* BuildFile in Sources */ = {isa = PBXBuildFile; };
+ F4487BE11FB28C400079BAAD /* (null) in Sources */ = {isa = PBXBuildFile; };

@@ -5625,7 +5625,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F4487BE11FB28C400079BAAD /* BuildFile in Sources */,
+ F4487BE11FB28C400079BAAD /* (null) in Sources */,);

    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
-       <string>2.11.4</string>
+       <string>2.11.5</string>
      <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleURLTypes</key>
@@ -39,7 +39,7 @@
            </dict>
    </array>
    <key>CFBundleVersion</key>
-       <string>02110400</string>
+       <string>02110500</string>
    <key>FacebookAppID</key>
    <string>70858204300</string>
    <key>FacebookBetaAppID</key>

我所做的只是提高项目的版本。但是在执行 git status 和 git diff 时,我在 .pbxproj 文件中看到了一些空引用。有没有其他人看到这个。作为旁注,我们还在项目中使用 Cocoapods。

4

3 回答 3

35

删除您的所有出现的(null) in Sourcesproject.pbxproj

sed -i '' '/(null) in Sources /d' YOURPROJECT.xcodeproj/project.pbxproj
于 2018-06-20T18:51:22.317 回答
4

我删除了项目文件中的所有(空)引用以及与它们一起提到的所有 ID。然后尝试构建运行和存档应用程序 - 一切正常。看起来 Xcode 并没有出于某种原因自行删除它们。

在您的情况下,尝试使用(null)删除 F4487BE11FB28C400079BAAD,以及使用此 F4487BE11FB28C400079BAAD 的所有行。并使用其他(空)引用执行此操作。

于 2018-06-04T13:43:57.250 回答
3

我创建了简单的 shell 脚本来删除项目文件中的所有空引用。

另存为文件,授予执行权限并调用它。

#!/bin/sh
sed -i '' '/(null) in Sources /d' ProjectName.xcodeproj/project.pbxproj
sed -i '' '/(null) in Resources /d' ProjectName.xcodeproj/project.pbxproj
sed -i '' '/(null) in Frameworks /d' ProjectName.xcodeproj/project.pbxproj
于 2020-09-30T12:41:19.127 回答