Carthage更新时出现Alamofire错误

9

我的 Cartfile:

github "ReactiveCocoa/ReactiveCocoa" "v4.0.0-alpha.4"
github "ikesyo/Himotoki" ~> 1.3.0
github "Alamofire/Alamofire" ~> 3.1.2
github "Swinject/Swinject" == 0.5.0

github "Quick/Quick" == 0.8.0
github "Quick/Nimble" == 3.0.0

错误:

*** Fetching ReactiveCocoa
*** Fetching Himotoki
*** Fetching Alamofire
*** Fetching Swinject
*** Fetching Quick
*** Fetching Nimble
*** Fetching Result
*** Checking out Himotoki at "1.3.2"
*** Checking out ReactiveCocoa at "4faa7bc75cd30682e9e5615bb6359988f0339800"
*** Downloading Swinject at "v0.5"
*** Downloading Nimble at "Nimble v3.0.0"
*** Checking out Alamofire at "3.1.4"
*** Downloading Result at "1.0.1: A New Beginning"
*** Downloading Quick at "v0.8.0"
*** xcodebuild output can be found in /var/folders/tr/4fjkzly53sv7fwt6yxt1_fl40000gn/T/carthage-xcodebuild.lsMXnQ.log
*** Building scheme "Alamofire iOS" in Alamofire.xcworkspace
2015-12-17 13:25:56.420 xcodebuild[21997:5587012] [MT] PluginLoading: Required plug-in compatibility UUID F41BD31E-2683-44B8-AE7F-5F09E919790E for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-12-17 13:25:56.421 xcodebuild[21997:5587012] Failed to load plugin at: /Users/Matan/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin, skipping.  Reason for failure: *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
2015-12-17 13:25:56.422 xcodebuild[21997:5587012] [MT] PluginLoading: Required plug-in compatibility UUID F41BD31E-2683-44B8-AE7F-5F09E919790E for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/RealmBrowser.xcplugin' not present in DVTPlugInCompatibilityUUIDs
** BUILD FAILED **


The following build commands failed:
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/Upload.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/ParameterEncoding.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/Request.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/ResponseSerialization.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/Error.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/Manager.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/Response.swift
    CompileSwift normal arm64 /Users/Matan/Documents/ObjectiveC/onpi/SwinjectMVVMExample/Carthage/Checkouts/Alamofire/Source/Alamofire.swift
    CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(9 failures)

如果您使用 --verbose 选项运行 carthage 命令,会显示哪个错误?或者您可以分享日志 /var/folders/tr/4fjkzly53sv7fwt6yxt1_fl40000gn/T/carthage-xcodebuild.lsMXnQ.log 吗? - Yoichi Tagaya
1个回答

8
在运行最新版本的Alamofire时,我遇到了类似于你的错误输出问题,当运行carthage update时出现。这似乎是由一些Xcode插件与最新版本的Xcode不兼容造成的。在运行carthage update之前,将那些插件暂时移出Xcode插件文件夹就为我解决了这个问题。
在你的情况下,请暂时将错误日志中提到的两个Xcode插件Unity4XC.xcpluginRealmBrowser.xcplugin移动到另一个位置,比如说~/Library/Application Support/Developer/Shared/Xcode/Plug-ins之外,并运行carthage update
在我的情况下,CocoaPodUi.xcplugin是导致在carthage update期间出现xcodebuild错误的罪魁祸首。
另一个选择可能是将包含在二进制文件/Applications/Xcode.app/Contents/Info.plist中的您的Xcode的DVTPlugInCompatibilityUUIDs追加到~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/<name-of-stale-plugin>.xcplugin/Contents/Info.plist中。您可以使用Xcode手动完成此操作。
open -a Xcode ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin/Contents/Info.plist
open -a Xcode ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/RealmBrowser.xcplugin/Contents/Info.plist

或者自动在终端上进行。

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist | xargs -IFILE defaults write FILE DVTPlugInCompatibilityUUIDs -array-add F41BD31E-2683-44B8-AE7F-5F09E919790E

F41BD31E-2683-44B8-AE7F-5F09E919790E是Xcode 7.2(7C68)的UUID,已在上面的错误输出中提供。

2015-12-17 13:25:56.420 xcodebuild[21997:5587012] [MT] PluginLoading: Required plug-in compatibility UUID F41BD31E-2683-44B8-AE7F-5F09E919790E for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2015-12-17 13:25:56.422 xcodebuild[21997:5587012] [MT] PluginLoading: Required plug-in compatibility UUID F41BD31E-2683-44B8-AE7F-5F09E919790E for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/RealmBrowser.xcplugin' not present in DVTPlugInCompatibilityUUIDs

谢谢@afmm,这正是我在寻找的。 :) - heitortsergent
不知道我们可以自己解决UUID兼容性警告 - @mmizutani发现得很好。 - Greg Combs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接