質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

4344閲覧

swift 設定について質問です

tosi_1211

総合スコア138

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/06/26 15:30

カメラロールに許可がない場合、アラートを出して、設定からカメラロールの許可を変えるように促しているのですが、
設定で値を変えるとアプリが落ちてしまいます。

現状は昔、カメラの機能を実装していて、今はないですが、設定のところでstatusは残っています。
それが原因なのでしょうか?

写真の値を変えるにはAppDelegate.swiftで何かを設定しなければならないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

設定で値を変えるとアプリが落ちてしまいます。

前回の質問(https://teratail.com/questions/39112)の回答の中で、その件についてもKeterouさんが以下の記事を紹介してコメントされていますが、読まれていますか?
http://stackoverflow.com/questions/12652502/app-killed-by-sigkill-when-changing-privacy-settings

設定アプリでカメラロールへのアクセス許可設定を変更するとアプリが再起動されるのは、おそらくAppleの意図的な仕様だと私は思います。
ユーザーがアクセス許可の設定を変更したということは、ユーザーはそのアプリを新しい許可状態にして使いたいわけで、アプリの動作を継続させたままそのアプリにアクセス許可状態の変更を処理させるよりも、OSが強制的にアプリを再起動する方がユーザの意図を確実に反映できると考えたのではないかと思います。

もともとカメラロールにアクセスしていたアプリがカメラロールへのアクセスをしなくなってもその設定が残ったままなのも、おそらくAppleの仕様だと思います。ユーザーがそのアプリに対して一度拒否を設定したものはユーザーが自分で操作して設定変更しない限り、設定を維持すべきと考えたのだろうと思います。

写真の値を変えるにはAppDelegate.swiftで何かを設定しなければならないのでしょうか?

「写真の値を変える」とはどういう意味ですか?
カメラロールへのアクセス許可の設定は、アプリが再起動されてもちゃんと変更されていると思います。

投稿2016/06/26 23:20

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tosi_1211

2016/06/27 00:48

解決したのですが、左上のひとつ前のページに戻るボタンを押すとページが固まってしまいます。どうすれば復活するでしょうか?
tosi_1211

2016/06/27 01:01 編集

openurlして設定に飛んだ後にexit(0)するのがベストでしょうか?
TakeOne

2016/06/27 09:51

> 左上のひとつ前のページに戻るボタンを押すとページが固まってしまいます。どうすれば復活するでしょうか? 「左上のひとつ前のページに戻るボタン」というのは、設定画面から元のアプリに戻るボタン(OSが自動的にステータスバーに表示しているボタン)ですか? ちょっと試してみましたが、カメラロールのアクセス許可設定を変更して、ステータスバーにある元のアプリに戻るボタンをタップしても特に固まるようなことはなく、元のアプリ(再起動されたアプリ)に戻りました。 もし、Xcodeからアプリを起動していて、カメラロールのアクセス許可設定を変更した時に、main関数で「signal SIGKILL」が出てアプリの動きが停止することを言っているのでしたら、それは気にする必要ありません。アプリがOSに強制停止させられたことをXcodeのデバッガーが検知して、アプリが実行を終える最後の場所で一時停止させているだけです。 別のことを言っているのであれば、もう少し詳しく説明してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問