迁移到 Swift 3.0,构建问题

Posted

技术标签:

【中文标题】迁移到 Swift 3.0,构建问题【英文标题】:Moving to Swift 3.0, building issue 【发布时间】:2016-12-16 07:52:58 【问题描述】:

关于将 ios 应用程序迁移到 Swift 3.0 的过程。我终于摆脱了(所有)语法错误。

不过,我似乎还有一个很大的问题。

以下是我在构建项目时在 Xcode 中收到的最终错误消息:

这里完整包含太长了,所以我决定在途中选择一些带有.....(点)的部分来缩短它。 我希望这足以让您了解正在发生的事情。

CompileSwift normal arm64 /Users/me/Documents/iOS/TheApp/TheApp/UsPr_ViewController.swift
    cd /Users/me/Documents/iOS/TheApp
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/me/Documents/iOS/TheApp/TheApp/ViewController.swift /Users/me/Documents/iOS/TheApp/TheApp/CrossHairView.swift /Users/me/Documents/iOS/TheApp/ATWI.swift /Users/me/Documents/iOS/LibBin/Swift_ToolBox/ToolBox.swift /Users/me/Documents/iOS/TheApp/TheApp/AppDelegate.swift /Users/me/Documents/iOS/TheApp/TheApp/HBModel.swift /Users/me/Documents/iOS/TheApp/Configuration+CoreDataProperties.swift /Users/me/Documents/iOS/TheApp/Configuration.swift ............ /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Products/Debug-iphoneos -enable-testing -g -module-cache-path /Users/me/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/swift-overrides.hmap -Xcc -iquote -Xcc ...........................
    /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/Objects-normal/arm64/UsPr_ViewController.swiftdeps -o /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/Objects-normal/arm64/UsPr_ViewController.o -embed-bitcode-marker

0  swift                    0x000000010fa5ca3d PrintStackTraceSignalHandler(void*) + 45
1  swift                    0x000000010fa5c466 SignalHandler(int) + 470
2  libsystem_platform.dylib 0x00007fff968dc52a _sigtramp + 26
3  libsystem_platform.dylib 0x00007fff52e60690 _sigtramp + 3159900544
4  swift                    0x000000010d597dd2 swift::constraints::ConstraintGraph::removeConstraint(swift::constraints::Constraint*) + 690
5  swift                    0x000000010d59827c swift::constraints::ConstraintGraphScope::~ConstraintGraphScope() + 284
6  swift                    0x000000010d6315f4 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 24868
7  swift                    0x000000010d628239 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 681
8  swift                    0x000000010d631402 swift::constraints::ConstraintSystem::solveSimplified(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 24370
9  swift                    0x000000010d628239 swift::constraints::ConstraintSystem::solveRec(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 681
10 swift                    0x000000010d627b82 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 66
11 swift                    0x000000010d636f24 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 5108
12 swift                    0x000000010d676f62 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 482
13 swift                    0x000000010d679576 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 630
14 swift                    0x000000010d6fbd38 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 488
15 swift                    0x000000010d6fbf85 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 1077
16 swift                    0x000000010d6fbc96 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 326
17 swift                    0x000000010d6fbf85 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 1077
18 swift                    0x000000010d6fbc96 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 326
19 swift                    0x000000010d6fad5d swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 365
20 swift                    0x000000010d6ff3fc swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 188
21 swift                    0x000000010d6b2aba swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 6714
22 swift                    0x000000010d36231b swift::CompilerInstance::performSema() + 5675
23 swift                    0x000000010ce05a4d performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*) + 2765
24 swift                    0x000000010ce02f70 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 17856
25 swift                    0x000000010cdbf93e main + 8302
26 libdyld.dylib            0x00007fff958645ad start + 1
27 libdyld.dylib            0x0000000000000052 start + 1786362534
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/me/Documents/iOS/TheApp/TheApp/ViewController.swift /Users/me/Documents/iOS/TheApp/TheApp/CrossHairView.swift /Users/me/Documents/iOS/TheApp/ATWI.swift /Users/me/Documents/iOS/LibBin/Swift_ToolBox/ToolBox.swift /Users/me/Documents/iOS/TheApp/TheApp/AppDelegate.swift /Users/me/Documents/iOS/TheApp/TheApp/HBModel.swift /Users/me/Documents/iOS/TheApp/Configuration+CoreDataProperties.swift /Users/me/Documents/iOS/TheApp/Configuration.swift ........................ -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk -I /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Products/Debug-iphoneos -F /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Products/Debug-iphoneos -enable-testing -g -module-cache-path /Users/me/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/swift-overrides.hmap -Xcc -iquote -Xcc ............................. /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/Objects-normal/arm64/UsPr_ViewController.d -emit-reference-dependencies-path /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/Objects-normal/arm64/UsPr_ViewController.swiftdeps -o /Users/me/Library/Developer/Xcode/DerivedData/TheApp-hyrzzzmmftlgdcrspqcwapcblrbt/Build/Intermediates/TheApp.build/Debug-iphoneos/TheApp.build/Objects-normal/arm64/UsPr_ViewController.o -embed-bitcode-marker 
1.  While type-checking 'setZXComputation' at /Users/me/Documents/iOS/TheApp/TheApp/UsPr_ViewController.swift:184:5
2.  While type-checking expression at [/Users/me/Documents/iOS/TheApp/TheApp/UsPr_ViewController.swift:233:17 - line:233:66] RangeText="choiceArray = (archiveArray as! Array)[0] as [Int]"

我不希望在这里有明确的解决方案(认为这会很棒)。 但是,如果有人能指出我应该看哪个方向来构建我的项目,那就太好了。 感谢您提供任何相关提示。

【问题讨论】:

您是否阅读过错误并尝试过它的建议? 是的,你的意思是:scrollViewDidEndDecelerating ?我现在正在尝试,但是用 scrollViewDidEndDecelerating 替换 scrollViewDidEndDecelerating 不是很清楚。 好的。谢谢。这已经让我避免了一些错误。 ...你为什么不在发布 o.0 之前先尝试一下? 对,我不够小心。而且由于我已经花费了相当多的时间来修复 Xcode 中的语法错误,所以我没想到会在这个级别出现其他语法错误。实际上,我仍然不知道为什么我按照您的提示修复的那些错误之前没有出现在 Xcode 中。 【参考方案1】:

在 swift 3 中改变了一些语法, 例如:

func scrollViewDidEndDecelerating(scrollView: UIScrollView) 

现在

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) 

【讨论】:

是的,我刚刚修复了这些错误。我仍然有问题。我更新了帖子以反映这一点。

以上是关于迁移到 Swift 3.0,构建问题的主要内容,如果未能解决你的问题,请参考以下文章

将使用 Cocoapods 1.0.1 的 iOS 应用程序从 Swift 2.2 迁移到 3.0

Alamofire 自定义响应从 Alamofire v1.3 迁移到 3.0(和 Swift 2 语法)

Swift 3.0 和 Xcode 8 迁移后未调用 UITableViewDelegate 方法

Swift 3.0 迁移后的 Alamofire 错误:“调用中的额外参数”(请求方法)

Swift 3.0 xCode 8 迁移吊舱

Swift 3.0 静态实例,迁移工具的语法更改 [重复]