
エラーと解決方法 – iOS Swift
Unexpected failure
Xcode左上の一番右をクリックするとBuildに「×」がついていると思うので、そこを押すと詳細が表示されます。

resources-to-copy: Operation not permitted
User Script SandboxingをNoに設定すれば解決します。
これ自体がなんなのかはこちらの方が詳しく書いてくれています。

画面中央のBasic, Signing & CapabilitiesなどからAllを選択しないと表示されないかもしれないので、気をつけてください。
Google Maps SDKによってプレビューが表示されない
EditorのCanvasから「Use Legacy Previews Execution」にチェックを入れればOKです。

Cannot declare conformance to ‘NSObjectProtocol’ in Swift; ‘AppDelegate’ should inherit ‘NSObject’ instead
AppDelegateがNSObjectProtocolに準拠していた目に起こるエラーです。
NSObjectを継承するだけでもエラーは解決しますが、AppDelegateでは、NSObjectを継承しているUIResponderを継承することがSwiftの習慣になっているため、UIResponderを継承した方が良いです。
class AppDelegate : UIResponder, UIApplicationDelegate {
// 略
}
画面が真っ黒 – Black Screen
Targets > info > Enable Multiple Windows を YES -> NO に変更したら直りました。NO -> YES に再度変更しても問題ないのでなぜかはわかりません。

Enum SwitchのEquatableエラー
Instance method ‘関数名’ requires that ‘Enum名’ conform to ‘Equatable’
私の場合はonChangeでこれに出会しました。
EnumをEquatableに準拠させるため、全部比較!
// 元のEnum
internal enum UIState {
case loading
case failed
case succeed(dataType: DataType)
}
// Equatableに準拠
extension UIState: Equatable {
static func == (lhs: UIState, rhs: UIState) -> Bool {
switch (lhs, rhs) {
case (loading, loading):
return true
case (loading, failed):
return false
case (loading, succeed):
return false
case (failed, loading):
return false
case (failed, failed):
return true
case (failed, succeed):
return false
case (succeed, loading):
return false
case (succeed, failed):
return false
case (succeed, succeed):
return true
}
}
}