2017-10-13 108 views
-1

我正在开发一个项目,最初在Xcode 8.3和Swift 3.2中启动,Xcode 9(稳定版本)发布后,我使用Xcode中的内置选项将项目从Swift 3.2转换为Swift 4.0 9.它还转换了Alamofire,SwiftyJson等豆荚。我还使用pod update命令更新了所有的豆荚。
一切在模拟器以及iPhone上运行良好,但是当我尝试归档项目时,归档过程失败,错误如下。 Error Image1 Error Image2Xcode 9归档过程失败


我试着像改变斯威夫特语言版本优化级别两个目标&荚构建设置所有可能的解决方案,但它没有工作。
我也试过在我的pod文件中。

swift_32 = ['Alamofire', 'AlamofireImage', 'AssistantKit'] # if these pods are in Swift 3.2 
swift4 = ['SwiftyJSON'] # if these pods are in Swift 4 

post_install do |installer| 

    installer.pods_project.targets.each do |target| 
     swift_version = nil 

     if swift_32.include?(target.name) 
      swift_version = '3.2' 
     end 

     if swift4.include?(target.name) 
      swift_version = '4.0' 
     end 

     if swift_version 
      target.build_configurations.each do |config| 
       config.build_settings['SWIFT_VERSION'] = swift_version 
      end 
     end 
    end 
end 


构建和运行项目工程,但只有归档进程失败,上面提到的错误。

+0

请将收到的错误消息添加为文本而不是截图。 –

回答

0

我有类似的问题。我能够运行我的Xcode项目,安装了pod,例如Alamofire, SwiftyJson等,但每次尝试归档过程失败时都会显示上述错误。问题的原因是椰子树。
完全去除cocoapods并重新安装再次解决了我的问题。

要从MacOS中完全去除cocoapods:
1.在终端中键入gem list --local | grep cocoapods。你会看到这样的事情在终端:

的CocoaPods(1.3.1)
的CocoaPods核(1.3.1)
的CocoaPods-deintegrate(1.0.1)
的CocoaPods-下载(1.1.3 )
的CocoaPods-插件(1.0.0)
的CocoaPods搜索(1.0.0)
的CocoaPods-统计(1.0.0)
的CocoaPods干线 (1.3.0)
的CocoaPods试(1.1.0)

  1. 现在你需要用下面的命令逐个删除每个宝石。

须藤宝石卸载的CocoaPods
须藤宝石卸载的CocoaPods-deintegrate
须藤宝石卸载的CocoaPods-下载

  • 同时删除〜/ .cocoapods到删除podspecs的缓存。这将删除旧的主回购。
  • 室射频〜/ .cocoapods/

  • 从Xcode项目删除豆荚&删除Podfile。我也删除了我的.xcworkspace。
  • 荚deintegrate
    RM Podfile

  • 查阅之后,使用所有这些重新安装的CocoaPods的:
  • 须藤宝石安装cocoapods
    pod setup --verbose

    将所需的窗格添加到您的项目并尝试进行存档。
    希望这会有所帮助。

    +0

    它运作良好。谢谢! – Linus

    相关问题