2013-04-10 5 views
1

ALAssets 프레임 워크를 사용하여 사용자 사진 라이브러리에 액세스하는 앱이 있습니다. 앱에 사진 라이브러리에 대한 액세스 권한이 있는지 여부를 감지하는 코드를 작성했습니다. 그렇지 않은 경우 설정에 앱의 위치 서비스를 사용하도록 사용자에게 알리는 경고 메시지를 표시합니다. 문제는 설정에 들어가서 내 앱의 위치 서비스를 켜거나 끌 때 앱이 충돌한다는 것입니다 (앱이 어떤 뷰 컨트롤러에 있는지, ALAssets가로드되지 않은 경우에도 여전히 충돌 함) .위치 서비스가 "켜기"로 설정되면 앱이 작동을 멈 춥니 다.

왜 이런 일이 일어나는 지 알고 있습니까?이 문제를 해결하기 위해 무엇을 할 수 있습니까?

UPDATE : 신호 SIGKILL :

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 

가 스레드 1 말한다 : 여기에 메인에서이 라인에 충돌 보고서입니다.

+0

관련 코드는 어디에 있습니까? 충돌 보고서는 어디에 있습니까? 우리는 마술처럼 무슨 일이 일어나는지 알 수 없습니다. – Kerni

+0

@kerni - 충돌에 대한 정보가 업데이트되었습니다. 나는 앱의 외부에서 설정을 조정할 때 (예 : 설정 -> 개인 정보 -> 사진) 충돌이 일어나기 때문에 게시 할 코드가 무엇인지 확실하지 않습니다. –

답변

4

귀하의 앱이 iOS에 의해 살해되고 있습니다. 앱에 영향을 미치는 개인 정보 보호 설정이 변경됩니다.

은 참조 : 또한 App killed by SIGKILL when changing privacy settings

가 : 위치 서비스에 대한 액세스를 요청, 당신은 사진 라이브러리에 대한 액세스 권한을 부여하지 않습니다! 그 하나는 별도의 개인 정보 보호 설정입니다.

+0

고마워요. 이 질문은 또 다른 질문이지만 사용자가 설정을 변경했음을 감지하면 사용자가 탭을 열면 다시 시작되는 다른 앱이 있음을 알았습니다. 이것을 성취하는 방법을 알고 있습니까? –

+0

앱을 종료하고 다시 시작할 수 없습니다. 충돌이 발생하면 자동으로 다시 시작될 수있는 VOIP 앱은 예외입니다. 앱을 다시 시작하는 대신, 재시작 할 필요없이 설정이 변경 될 때마다 설정을 적용 할 수 있도록 구현해야합니다. 다른 모든 것은 사용자에게 친숙하지 않습니다. 사과 가이드 라인을 사용하면 어쨌든 앱을 종료 할 수 없습니다. – Kerni

+0

이 특정 문제에 대해 많은 사람들이 이것이 사용자에게 가장 좋은 방법이라는 데 동의했습니다. 앱에 사진 라이브러리에 액세스 할 수 있도록 개인 정보 설정을 변경하도록 안내합니다. 그 주위에 다른 방법은 보이지 않습니다. BTW 내가 언급 한 응용 프로그램은 VoIP 응용 프로그램이 아니지만 아직 어떻게 든 설정 변경 및 재부팅 자체를 일종의 감지 할 수있을 것으로 보인다. –

관련 문제