Has*_*jmi 212 cocoapods restkit-0.20
用cocopods安装RestKit后,我遇到了一个奇怪的问题.在使用cocopods为我的项目解析RestKit依赖项并尝试构建它之后,我遇到了这个错误:
PODS:
- AFNetworking (1.3.3)
- RestKit (0.20.3):
- RestKit/Core
- RestKit/Core (0.20.3):
- RestKit/CoreData
- RestKit/Network
- RestKit/ObjectMapping
- RestKit/CoreData (0.20.3)
- RestKit/Network (0.20.3):
- AFNetworking (~> 1.3.0)
- RestKit/ObjectMapping
- RestKit/Support
- SOCKit
- RestKit/ObjectMapping (0.20.3)
- RestKit/Search (0.20.3):
- RestKit/CoreData
- RestKit/Support (0.20.3):
- TransitionKit (= 1.1.1)
- RestKit/Testing (0.20.3)
- SOCKit (1.1)
- TransitionKit (1.1.1)
DEPENDENCIES:
- RestKit (~> 0.20.0)
- RestKit/Search (~> 0.20.0)
- RestKit/Testing (~> 0.20.0)
SPEC CHECKSUMS:
AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66
RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83
SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581
TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910
COCOAPODS: 0.29.0
Run Code Online (Sandbox Code Playgroud)
我搜索但找不到任何明确的解决方案.
这里有一些镜头:


PODS:
- AFNetworking (1.3.3)
- RestKit (0.20.3):
- RestKit/Core
- RestKit/Core (0.20.3):
- RestKit/CoreData
- RestKit/Network
- RestKit/ObjectMapping
- RestKit/CoreData (0.20.3)
- RestKit/Network (0.20.3):
- AFNetworking (~> 1.3.0)
- RestKit/ObjectMapping
- RestKit/Support
- SOCKit
- RestKit/ObjectMapping (0.20.3)
- RestKit/Search (0.20.3):
- RestKit/CoreData
- RestKit/Support (0.20.3):
- TransitionKit (= 1.1.1)
- RestKit/Testing (0.20.3)
- SOCKit (1.1)
- TransitionKit (1.1.1)
DEPENDENCIES:
- RestKit (~> 0.20.0)
- RestKit/Search (~> 0.20.0)
- RestKit/Testing (~> 0.20.0)
SPEC CHECKSUMS:
AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66
RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83
SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581
TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910
COCOAPODS: 0.29.0
Run Code Online (Sandbox Code Playgroud)
小智 290
我能够通过更新CocoaPods来解决这个问题.
pod installcom*_*m1x 94
经过多次尝试,我设法解决了这个问题.变量$ {PODS_ROOT}未设置,我在下面进行操作.转到Build Phases - > Check Pods Manifest.lock并替换
diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
Run Code Online (Sandbox Code Playgroud)
至
diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null
Run Code Online (Sandbox Code Playgroud)
它帮助到我.
100*_*ams 43
如果从Podfile中删除目标中的所有pod,例如
target 'myTarget' do
pod 'great-stuff', '~> 4.0' // you deleted this last pod
end
Run Code Online (Sandbox Code Playgroud)
您需要从Xcode目标构建阶段手动删除这些构建步骤:
运行时,Cocoapods(当前稳定版本0.37.2)不执行此清理pod install.
Edd*_*die 18
我一直在搜索几个小时,发现以下解决方案:
就我而言,方法1可行。
方法1:
打开终端>转到您的项目>运行:
pod install
Run Code Online (Sandbox Code Playgroud)清理并建设项目
方法2:
打开终端>转到您的项目>运行:
pod deintegrate --verbose
pod install --verbose
Run Code Online (Sandbox Code Playgroud)方法3:
添加2个用户定义的设置:[左侧=右侧]
PODS_ROOT = ${SRCROOT}/Pods
Run Code Online (Sandbox Code Playgroud)
和
PODS_PODFILE_DIR_PATH = ${SRCROOT}/
Run Code Online (Sandbox Code Playgroud)avi*_*hic 12
更改目标名称后
我的问题是带有旧目标名称的xcconfig.
它将更新为新的.
此外,如果您丢失了.h文件,那就是原因(pods标题搜索路径在这些xcconfig中)
Hon*_*ney 11
首先,您必须了解它Podfile.lock是什么,然后了解它Manifest.lock是什么以及它的用途。
它Podfile保存您拥有的每个依赖项的(乐观或精确)版本。锁定文件仅保存精确版本。
完成后,pod install所有 Pod 都会下载/安装到/pods目录中。您可能想要提交它们,也可能不想提交。这取决于您的团队。你的团队不应该决定是否应该承诺Podfile.lock。这需要做出承诺,以便团队中的每个开发人员都可以确保他们拥有完全相同的版本。
Podfile和Podfile.lock,并且该Pods目录未被提交。pod install创建Pods目录了。每个 pods\xe2\x80\x99 版本的快照应与 Podfile.lock 中所有 pod 的版本匹配。这就是Manifest.lock发挥作用的地方。Manifest.lock是否已创建本地计算机的锁。它必须与Podfile.lock存储库中最后一次提交(导致 pod 发生更改)生成的内容相匹配。如果不匹配,就会出现问题。
关于Manifest.lock文件是什么的文档:
\n # Manifest.lock: A file contained in the Pods folder that keeps track of\n # the pods installed in the local machine. This files is used once the\n # exact versions of the Pods has been computed to detect if that version\n # is already installed. This file is not intended to be kept under source\n # control and is a copy of the Podfile.lock.\nRun Code Online (Sandbox Code Playgroud)\n老实说,我只能想到一种情况,其中Manifest.lock和Podfile.lock会不同步:
我的意思是,如果您从主分支拉取,那么您将获得主分支Podfile和锁定文件。如果您随后对 进行更改,Podfile然后运行pod install,那么您将更新Podfile.lock和Manifest.lock并使它们保持同步。没有这个问题
这是否只是为了如果:
\n/Pods目录PodfilePodfile.lockPodfilePodfile.lockPodfile,Podfile.lock那么你的项目自然可以成功构建。该脚本记录在此处
\n# Adds a shell script build phase responsible for checking if the Pods\n# locked in the Pods/Manifest.lock file are in sync with the Pods defined\n# in the Podfile.lock.\n# \n# @note The build phase is appended to the front because to fail fast.\n# \n# @return [void]\nRun Code Online (Sandbox Code Playgroud)\n这些行的作用是:执行 adiff并确保您Manifest.lock的所有已安装的 pod 版本的本地快照等于Podfile.lock您的存储库的所有已安装的 pod 版本的当前快照。
解决方法可能非常简单,只需确保您Podfile是您想要的。然后就跑吧pod install。Manifest.lock您还以某种方式意外地对目录内部进行了更改/Pods(或者如前所述,可能只提交了锁定文件,但没有提交Podfile,反之亦然)。删除/Pods目录不会造成任何损害。就做一个pod install之后。pod update除非那是您想要的,否则不要这样做。
只要确保您永远不会删除,Podfile.lock否则如果您pod install这样做,它会将所有依赖项更新到它可以的最新版本。
观看有关锁定文件的视频也很有帮助, CocoaPods 文档介绍了如何以不同的方式使用锁定文件来进行 pod 安装和 pod 更新,最后看看如何更详细地使用所有逻辑\n这个关于校验和的艺术博客。值得注意的是,单个空格将创建一个新的校验和,并且可能会使事情不同步。
\n如果您看到类似以下的错误:
差异:/../Podfile.lock:没有这样的文件或目录差异:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。运行“ pod install”或更新您的CocoaPods安装。
然后您的项目中的Cocoapods存在问题。有时,cocoapods可能会不同步,因此您需要重新启动cocoapods。您应该可以通过以下方法解决此错误:
小智 7
${PODS_ROOT}/Manifest.lock
Run Code Online (Sandbox Code Playgroud)
和:
${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock
Run Code Online (Sandbox Code Playgroud)
签入图像:
在我的情况下,我在集成WatchKit应用程序后遇到了同样的错误.要解决问题,我需要在Podfile中添加WatchKit的两个目标:
target 'MyProject WatchKit App' do
platform :watchos, '2.0'
shared_pods
end
target 'MyProject WatchKit App Extension' do
platform :watchos, '2.0'
shared_pods
end
Run Code Online (Sandbox Code Playgroud)
PS:也许这件事发生在我身上,因为我MyProject WatchKit App最初错误地为目标安装了pod .
| 归档时间: |
|
| 查看次数: |
163419 次 |
| 最近记录: |