

画像をタップしてアルバムから画像を選択した時にエラーで止まります。  
現状のコードは他のプロジェクトファイルにコピペして実行した所、問題なく動作しているので何が原因なのかが分からないです。

以下、現状のソースです。

[code]

    @IBAction func tapProfileImage(_ sender: Any) {
        showAlert()
    }
    
    
    
    func souceTypeImagePicker(souceType:UIImagePickerController.SourceType){
    
        let cameraPicker = UIImagePickerController()
            cameraPicker.sourceType = souceType
            cameraPicker.delegate = self
            cameraPicker.allowsEditing = true
            present(cameraPicker, animated: true, completion: nil)
    
    }
    
    
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        picker.dismiss(animated: true, completion: nil)
    }
    
    
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    
        if let pickerImage = info[.editedImage] as? UIImage{
            self.profileImage.image = pickerImage
                picker.dismiss(animated: true, completion: nil)
    
        }
    }
    
    
    func showAlert(){
    
        let alertController = UIAlertController(title: "選択", message: "どちらを使用しますか?", preferredStyle: .actionSheet)
    
            let action1 = UIAlertAction(title: "カメラ", style: .default) { (alert) in
    
                let souceType:UIImagePickerController.SourceType = .camera
                    self.souceTypeImagePicker(souceType: souceType)
    
            }
        let action2 = UIAlertAction(title: "アルバム", style: .default) { (alert) in
    
            let souceType:UIImagePickerController.SourceType = .photoLibrary
                self.souceTypeImagePicker(souceType: souceType)
    
        }
    
        let action3 = UIAlertAction(title: "キャンセル", style: .cancel)
    
    
            alertController.addAction(action1)
            alertController.addAction(action2)
            alertController.addAction(action3)
            self.present(alertController, animated: true, completion: nil)
    
    }
    
[/code]

セキュアについてはモデル化してインスタンス化し、Viewdidload内で実行しています。

以下モデルです。

[code]

    class checkPermission{
    
        init() {
    
        }
    
        func checkCamera(){
            PHPhotoLibrary.requestAuthorization { (status) in
                switch(status){
    
    
                case .notDetermined:
                    print("notDetermined")
                case .restricted:
                    print("restricted")
                case .denied:
                    print("denied")
                case .authorized:
                    print("authorized")
                case .limited:
                    print("limited")
                @unknown default:
                    break
                }
            }
        }
    }
    
[/code]

今回の問題になっているこれらのコードを別のプロジェクトファイルにてコピペで実行した際は正常に動作し、アルバムから画像を選択できている状態でした。  
問題が発生しているプロジェクトとの違いはFirebaseがインストールされているかいないかの違いです。しかし、問題が発生しているプロジェクトで画像を選択してもまだFirebaseに対して何もデータを送信していないのであまり関係ないと思うのですが、Firebaseがインストールされていないプロジェクトでは正常に動作するのでよく分からないです。

動作環境はM1のMacBook Proです。  
画像を含めないFirebase通信ではarm64を使用しないに設定して正常に動作していました。

アドバイスよろしくお願いします。

[![画像の説明をここに入力](https://i.stack.imgur.com/ZVUwD.jpg)](https://i.stack.imgur.com/ZVUwD.jpg)


CC BY-SA 4.0
2021-01-18T07:12:17.363
73380
2021-04-02T00:11:37.693
2021-04-02T00:11:37.693
3060
37890
question
swift firebase uiimagepickercontroller
UIImagePickerControllerでExceptioエラーがでますが、原因が分かりません。


`URLByAppendingPathExtension`という場所（すなわち、`appendingPathExtension(_:)`関数  
<https://developer.apple.com/documentation/foundation/url/1780122-appendingpathextension>
）で例外エラーが発生していますね。

<https://developer.apple.com/forums/thread/670640>  
にのっているエラー文が質問にのせてある画像に入っているエラー文に非常に似ていて、同じような場所で問題が発生しているのだと思います。

* * *

**どこでエラーが出ているかを書いて、画像ではなくエラー文をコピペしたほうが、回答する側としてもわかりやすく、回答されやすい**
と思うので、今度から心がけましょう。

Exceptio → Exception


CC BY-SA 4.0
2021-04-01T08:56:03.297
75014
2021-04-01T23:26:39.593
2021-04-01T23:26:39.593
39579
39579
73380
answer