かなり遅くなってしまったんですが、Swift3だったものをSwift4.2に変換しました。
その際に出たエラーをメモしておきたいと思います。
(私が出会ったエラーのみなので、他にも変換時のエラーはたくさんあるとは思います)

#Selector

<エラー>
Argument of ‘#selector’ refers to instance method ‘(funcの名前)’ that is not exposed to Objective-C

(時によっては、以下の文章と「Fix」ボタンが表示されることもあります)
Add ‘@objc’ to expose this instance method to Objective-C

<翻訳>
‘#selector’の引数は、Objective-Cに公開されていないインスタンスメソッド ‘(funcの名前)’を参照しています

‘@objc’を追加して、このインスタンスメソッドをObjective-Cに公開します。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、funcの前に「@objc」をつけるだけで、エラーが消えました。

例)
button○○○[i].addTarget(self, action: #selector(△△△.(funcの名前)(_:)), for: .touchUpInside)
というところで、エラーが出ていた場合。

func (funcの名前)(_ sender: UIButton) {

@objc func (funcの名前)(_ sender: UIButton) {

Command CompileSwift failed with a nonzero exit code

<エラー>
Command CompileSwift failed with a nonzero exit code
<翻訳>
コマンドCompileSwiftがゼロ以外の終了コードで失敗しました

対処方法

クリーンビルドをすることで、このエラーが無くなりました。
(ただし私の場合は、その後、大量の他のエラーが出てきました…)

・参考:なぜかうまくいかない時:クリーンビルド【iOS・Android】

Cannot convert value of type ‘String’ to expected dictionary key type ‘NSAttributedString.Key’

<エラー>
Cannot convert value of type ‘String’ to expected dictionary key type ‘NSAttributedString.Key’
<翻訳>
タイプ ‘String’の値を予期されたディクショナリキータイプ ‘NSAttributedString.Key’に変換できません

対処方法

String‘を ’NSAttributedString.Key‘に 置き換える。

例)
let aaaaa = NSMutableAttributedString(string: bbbbb, attributes: [
kCTLanguageAttributeName as String : ccccc,
NSFontAttributeName : ddddd
])

let aaaaa = NSMutableAttributedString(string: bbbbb, attributes: [
kCTLanguageAttributeName as NSAttributedString.Key : ccccc,
NSFontAttributeName : ddddd
])

名称の変更

UIApplicationLaunchOptionsKey

<エラー>
‘UIApplicationLaunchOptionsKey’ has been renamed to ‘UIApplication.LaunchOptionsKey’
Replace ‘UIApplicationLauncOptionsKey’ with ‘UIApplication.LaunchOptionsKey’


<翻訳>
「UIApplicationLaunchOptionsKey」は「UIApplication.LaunchOptionsKey」に名前が変更されました
「UIApplicationLauncOptionsKey」を「UIApplication.LaunchOptionsKey」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIApplicationLauncOptionsKey」を「UIApplication.LaunchOptionsKey」に置き換える。

bringSubview(toFront:)

<エラー>
‘bringSubview(toFront:)’ has been renamed to ‘bringSubviewToFront(_:)’
Replace ‘bringSubview(toFront: ‘ with ‘bringSubviewToFront(‘

<翻訳>
「bringSubview(toFront :)」は「bringSubviewToFront(_ :)」に名前が変更されました。
「bringSubview(toFront:」を「bringSubviewToFront(」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「bringSubview(toFront:」を「bringSubviewToFront(」に置き換える。

UIViewAnimationOptions

<エラー>
‘UIViewAnimationOptions’ has been renamed to ‘UIView.AnimationOptions’
Replace ‘UIViewAnimationOptions’ with ‘UIView.AnimationOptions’


<翻訳>
「UIViewAnimationOptions」は「UIView.AnimationOptions」に名前が変更されました。
「UIViewAnimationOptions」を「UIView.AnimationOptions」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIViewAnimationOptions」を「UIView.AnimationOptions」に置き換える。

UIViewContentMode

<エラー>
‘UIViewContentMode’ has been renamed to ‘UIView.ContentMode’
Replace ‘UIViewContentMode’ with ‘UIView.ContentMode’

<翻訳>
「UIViewContentMode」は「UIView.ContentMode」に名前が変更されました。
「UIViewContentMode」を「UIView.ContentMode」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIViewContentMode」を「UIView.ContentMode」に置き換える。

UIImageRenderingMode

<エラー>
‘UIImageRenderingMode’ has been renamed to ‘UIImage.RenderingMode’
Replace ‘UIImageRenderingMode’ with ‘UIImage.RenderingMode’
<翻訳>
「UIImageRenderingMode」は「UIImage.RenderingMode」に名前が変更されました。
「UIImageRenderingMode」を「UIImage.RenderingMode」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIImageRenderingMode」を「UIImage.RenderingMode」に置き換える。

UIBarButtonItemStyle

<エラー>
UIBarButtonItemStyle’ has been renamed to ‘UIBarButtonItem.Style’ 
Replace ‘UIBarButtonItemStyle’ with ‘UIBarButtonItem.Style’

<翻訳>
UIBarButtonItemStyle」の名前が「UIBarButtonItem.Style」に変更されました。
「UIBarButtonItemStyle」を「UIBarButtonItem.Style」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIBarButtonItemStyle」を「UIBarButtonItem.Style」に置き換える。

UIAlertActionStyle

<エラー>
‘UIAlertActionStyle’ has been renamed to ‘UIAlertAction.Style’
Replace ‘UIAlertActionStyle’ with ‘UIAlertAction.Style’

<翻訳>
「UIAlertActionStyle」は「UIAlertAction.Style」に名前が変更されました
「UIAlertActionStyle」を「UIAlertAction.Style」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIAlertActionStyle」を「UIAlertAction.Style」に置き換える。

UITableViewAutomaticDimension

<エラー>
‘UITableViewAutomaticDimension’ has been renamed to ‘UITableView.automaticDimension’
Replace ‘UITableViewAutomaticDimension’ with ‘UITableView.automaticDimension’

<翻訳>
「UITableViewAutomaticDimension」は「UITableView.automaticDimension」に名前が変更されました。「UITableViewAutomaticDimension」を「UITableView.automaticDimension」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UITableViewAutomaticDimension」を「UITableView.automaticDimension」に置き換える。

UIControlState

<エラー>
‘UIControlState’ has been renamed to ‘UIControl.State’
Replace ‘UIControlState’ with ‘UIControl.State’

<翻訳>
「UIControlState」は「UIControl.State」に名前が変更されました。
「UIControlState」を「UIControl.State」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIControlState」を「UIControl.State」に置き換える。

NSFontAttributeName

<エラー>
‘NSFontAttributeName’ has been renamed to ‘NSAttributedString.Key.font’
Replace ‘NSFontAttributeName’ with ‘NSAttributedString.Key.font’

<翻訳>
「NSFontAttributeName」は「NSAttributedString.Key.font」に名前が変更されました。
「NSFontAttributeName」を「NSAttributedString.Key.font」に置き換えます。

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「NSFontAttributeName」を「NSAttributedString.Key.font」に置き換える。

UIBarButtonSystemItem

<エラー>
‘UIBarButtonSystemItem’ has been renamed to ‘UIBarButtonItem.SystemItem’
Replace ‘UIBarButtonSystemItem’ with ‘UIBarButtonItem.SystemItem’
<翻訳>
「UIBarButtonSystemItem」は「UIBarButtonItem.SystemItem」に名前が変更されました
「UIBarButtonSystemItem」を「UIBarButtonItem.SystemItem」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIBarButtonSystemItem」を「UIBarButtonItem.SystemItem」に置き換える。

NSParagraphStyleAttributeName

<エラー>
‘NSParagraphStyleAttributeName’ has been renamed to ‘NSAttributedString.Key.paragraphStyle’
Replace ‘NSParagraphStyleAttributeName’ with ‘NSAttributedString.Key.paragraphStyle’

<翻訳>
「NSParagraphStyleAttributeName」は「NSAttributedString.Key.paragraphStyle」に名前が変更されました
「NSParagraphStyleAttributeName」を「NSAttributedString.Key.paragraphStyle」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「NSParagraphStyleAttributeName」を「NSAttributedString.Key.paragraphStyle」に置き換える。

UIAlertControllerStyle

<エラー>
‘UIAlertControllerStyle’ has been renamed to ‘UIAlertController.Style’ 
Replace ‘UIAlertControllerStyle’ with ‘UIAlertController.Style’

<翻訳>
「UIAlertControllerStyle」は「UIAlertController.Style」に名前が変更されました
「UIAlertControllerStyle」を「UIAlertController.Style」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIAlertControllerStyle」を「UIAlertController.Style」に置き換える。

UIDatePickerMode

<エラー>
‘UIDatePickerMode’ has been renamed to ‘UIDatePicker.Mode’
Replace ‘UIDatePickerMode’ with ‘UIDatePicker.Mode’

<翻訳>
「UIDatePickerMode」は「UIDatePicker.Mode」に名前が変更されました
「UIDatePickerMode」を「UIDatePicker.Mode」に置き換えます

対処方法

「Fix」ボタンが表示されていたら、それをクリックする。
表示されなかった場合は、「UIDatePickerMode」を「UIDatePicker.Mode」に置き換える。

スポンサーリンク