自分のiPhoneでアプリを立ち上げ、カメラに接続したボタンを押すと”利用できません”と出ます。
import UIKit class SendController:UIViewController, UINavigationControllerDelegate,UIImagePickerControllerDelegate{ //このアクションとボタンを繋ぐ // senderの型をUIButtonに変更 @IBAction func ButtonCamera(_ sender: UIButton) { if sender.tag == ButtonCamera { showAlert(title: nil, text: "利用できません") openPicker(sourceType: UIImagePickerControllerSourceType.camera) }else if sender.tag == ButtomRead { openPicker(sourceType: UIImagePickerControllerSourceType.photoLibrary) } } //定数 let ButtonCamera = 0 let ButtomRead = 1 let ButtonWrite = 2 //変数 var imageView:UIImageView = UIImageView() var btnCamera:UIButton = UIButton(type: .custom) var btnRead:UIButton = UIButton(type: .custom) var btnWrite:UIButton = UIButton(type: .custom) //ロード完了時に呼ばれる override func viewDidLoad() { super.viewDidLoad() } //ボタンクリック時に呼ばれる func onClick(sender:UIButton){ if sender.tag == ButtonCamera { showAlert(title: nil, text: "利用できません") openPicker(sourceType: UIImagePickerControllerSourceType.camera) }else if sender.tag == ButtomRead { openPicker(sourceType: UIImagePickerControllerSourceType.photoLibrary) } } //アラートの表示 func showAlert(title: String?, text: String?) { let alert = UIAlertController(title: title, message: text, preferredStyle: UIAlertControllerStyle.alert) alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil)) present(alert, animated: true, completion: nil) } //イメージピッカーのオープン func openPicker(sourceType:UIImagePickerControllerSourceType){ if !UIImagePickerController.isSourceTypeAvailable(sourceType){ showAlert(title: nil, text: "利用できません") return } //イメージピッカーの生成 let picker = UIImagePickerController() picker.sourceType = sourceType picker.delegate = self //ビューコントローラーのビューを開く present(picker, animated: true, completion: nil) } // // イメージピッカーのイメージ取得時に呼ばれる func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let image = info[UIImagePickerControllerOriginalImage]as! UIImage imageView.image = image //ビューコントローラーのビューを閉じる picker.presentingViewController?.dismiss(animated: true,completion:nil) } // //イメージピッカーのキャンセル取得時に呼ばれる func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { picker.presentingViewController?.dismiss(animated: true, completion: nil) } }
と書いて自分のiPhoneで実行し、コードと接続したカメラを起動するボタンを押すと、
と出ました。
他のアプリでもよくある、カメラ機能が許可されていない、という問題かと思ったので、iPhoneの設定のプライバシー〜カメラを選択し、カメラを使用する(アクセスしようとした)アプリが一覧表示されますが、そこに私が作ったアプリがありませんでした。
また、iPhoneの設定の下の方に自分がダウンロードしたアプリの一覧が表示されますが、そこにも私が作ったアプリがありませんでした。
これは、コード側の問題なのでしょうか?それともiPhone側の問題なのでしょうか?どう直せば良いのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。