2016-10-07 4 views
1

약간의 도움이 필요했습니다. Bluetooth 주변 기기 역할을하는 앱이 있습니다. 사용자가 앱을 죽인 경우 위로 스 와이프하면 서비스가으로 사망합니다. 어쩌면 지오 펜싱을 생각해 보았습니다. 지오 펜싱을 사용하여 지역에 들어 오거나 나갈 경우 다시 서비스를 시작하십시오. 내 질문 : 가능합니까? 또는 iOS가 지오 펜싱에 대해 수행 할 수있는 작업과 수행 할 수없는 작업을 제한합니까? 지역을 떠나거나 들어갈 때 알림 만 표시하는 예만 보았습니다.iOS 블루투스 서비스 제안

지오 펜싱을 사용하는 것이 아니라면 내 블루투스 서비스를 계속 실행하는 방법에 대한 다른 제안 사항이 있습니까?

답변

1

지오 펜싱으로 수행 할 수있는 작업은 OS에 하나 이상의 영역 (최대 20 개)을 모니터링하도록 요청하는 것입니다. 그런 다음 기기가이 지역에 진입하면 OS가 백그라운드에서 앱을 깨우고 원하는 모든 작업을 수행 할 수있게됩니다. 알림은 사용자가 할 수있는 일의 한 예일뿐입니다. 아직 시작되지 않은 경우 앱을 시작합니다.

기본적으로 앱은 백그라운드에서 계속 실행되지 않으므로 몇 분 (또는 배터리 수명에 따라 OS가 결정할 때까지는 몇 초 후에) 앱이 다시 잠자기 상태가됩니다. 이것이 앱이 대개 매우 짧은 작업을 수행하는 이유입니다.

그러나 앱이 백그라운드에서 계속 실행될 수 있으면 앱을 지역을 벗어나지도 백그라운드에서 계속 실행됩니다. 이것은 앱이 기본적으로 할 수있는 것이 아니라 Xcode 기능에서 명시 적으로 요청해야하는 기능입니다.

그래서 사용자가 자동으로 지오 펜싱을 사용하여 자동으로 다시 시작하는 것처럼 보입니까? 시스템을 사용하면 이전에 사용자가 스 와이프하여 백그라운드에서 앱을 깨우지 않습니다. 이것은 시스템이 사용자에게 제공하는 보증입니다. 앱을 죽이면 죽거나 다른 이유로 다시 시작하지 않습니다.

짧은 이야기 : 사용자가 앱을 죽이는 경우 다시 시작하는 유일한 방법은 홈 화면에서 아이콘을 탭하여 시작하는 것입니다. 개발자에게있어 좋지 않은 일이지만 실제로는 사용자에게 좋은 점입니다.

+0

답변 해 주셔서 감사합니다. 당신은 "아직 시작하지 않았다면 앱을 시작할 것"이라고 썼다. 마지막 두 단락은 불가능하다고 말합니다. 모순 된 것처럼 느껴져. – KotaBear233

+0

. 백그라운드에서 잠자고있는 앱이 많기 때문에 메모리가 부족하면 시스템에서 일부 앱을 죽일 권한이 있습니다. 이 경우 사용자가 시작한 종료가 아니기 때문에 필요한 경우 시스템에서 원활하게 응용 프로그램을 다시 시작합니다. – deadbeef

+0

홈 버튼을 두 번 탭하여 '오래 된'앱 (한동안 사용하지 않은 앱)으로 이동해보십시오. 마지막 상태 인 스크린 샷을 보았기 때문에 실행중인 것처럼 보입니다.하지만 탭하면 당신은 그것이 원래 있던 곳으로 되돌아 가지 않고 처음부터 시작된다는 것을 알게 될 것입니다. 이는 시스템에서 사용자에게 묻지 않고 시스템을 종료하고 필요할 때 정상적으로 다시 시작하기 때문입니다. – deadbeef

0

앱 기능의 백그라운드에서 위치 서비스를 사용하도록 설정 한 경우 사용자가 강제로 앱을 죽이더라도 중요한 변경 모니터링을 사용하여 앱을 다시 시작할 수 있습니다. 그러나 즉각적인 것은 아닙니다. 사용자는 자신의 위치를 ​​크게 변경해야합니다. 또한 앱이 위치 서비스를 사용하도록 허용해야합니다.