前提・実現したいこと
今年の1月からSwiftを学習し始めた超初心者です。
カメラアプリを実装したく、参考書通りにやっているのですがエラーになってしまい解決方法がわかりません。
発生している問題・エラーメッセージ
Reference to invalid associated type 'UIViewControllerType' of type 'ImagePicker'
該当のソースコード
swift
import SwiftUI struct ImagePicker:UIViewControllerRepresentable { func makeCoordinator() -> Coordinator{ Coordinator() } func makeUIViewController(context: Context) -> some UIViewController { let picker = UIImagePickerController() picker.sourceType = .camera picker.delegate = context.coordinator return picker } func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) { } } struct ImagePicker_Previews: PreviewProvider { static var previews: some View { ImagePicker() } } //Coordinatorクラスは別途定義しています。 import SwiftUI class Coodinator: NSObject,UINavigationControllerDelegate,UIImagePickerControllerDelegate { var parent:ImagePicker init(_ parent:ImagePicker) { self.parent = parent } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { let uiImage = info[.originalImage] as! UIImage UIImageWriteToSavedPhotosAlbum(uiImage, nil, nil, nil) } func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { } }
試したこと
func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {}
ここの部分でエラーが出るので、こちらを変更したりしてみたのですが、そうするとプロトコルに適応していないというエラーが出てしました。
ちなみに何という参考書でしょうか?
絶対に挫折しないiPhoneアプリ開発「超」入門という高橋京介著の本です。
https://www.amazon.co.jp/%E7%B5%B6%E5%AF%BE%E3%81%AB%E6%8C%AB%E6%8A%98%E3%81%97%E3%81%AA%E3%81%84-iPhone%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E3%80%8C%E8%B6%85%E3%80%8D%E5%85%A5%E9%96%80-%E3%80%90Xcode-iOS13%E3%80%91-%E5%AE%8C%E5%85%A8%E5%AF%BE%E5%BF%9C/dp/4815604622
こちらからソースコードがダウンロードできるようなので、試してみては。
https://www.sbcr.jp/support/4815602846/
ありがとうございます!ソースコードを参考にしているのですがうまくいかなくて...
ダウンロードしたプロジェクトを直接開いて実行できますか?
あと、もしかして Xcode のバージョンが古かったりするとか?
直接開いても違うエラーが出てしまいました????
最新なんですが...笑