2016-10-11 5 views
1

나는 앱이 종료 된 후 몇 가지 코드를 실행할 수 있는지 궁금한 것 같습니다. 원격 데이터베이스의 데이터를 몇 초마다 앱에서 확인하도록하고 싶습니다. 변경 사항이 있으면 사용자에게 알림을 보내야합니다 (로컬 알림을 사용하면됩니까?). 앱이 실행되는 동안 NSTimer의 간격 방법을 사용하여 쉽게이 작업을 수행 할 수 있지만 앱이 종료되면 대안이 무엇인지 궁금합니다. 내가 구글을 둘러 본다면 문자 그대로 아무 것도 할 수없는 것처럼 보이지만 거의 이상하게 보일지 모르겠다. 거기에 앱이 많을 때 (예를 들어 어떤 소셜 네트워킹 앱이라도) 당신에게 알릴 수있다. 앱이 완전히 폐쇄 된 경우에도 계정에서 변경 사항이 발생합니다. 나는 그들이 내 장치에 나를 알리고 싶다면 그 응용 프로그램이 결국 약간의 코드를 실행해야한다는 것을 확신한다. 그들은 그걸 어떻게 햇어?앱 종료 후 코드 실행 ... 가능합니까? (Xcode 8, Swift 3)

+0

이 당신을 도울 수 있습니다 https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html 당신은 서버에서 푸시 알림을 사용한다 – janusbalatbat

+0

. 폴링은 배터리 및 네트워크 데이터 측면에서 매우 비효율적입니다. – Paulw11

+0

@janusfidel이 설명서는 백그라운드 실행 (응용 프로그램이 아직 열려있을 때 백그라운드에서, 장치의 홈 버튼을 누른 후처럼) 만 다루고 있습니다. 나는 그것이 내가 묻고있는 것이 아니라고 확신한다. 앱이 종료 된 후에도 실행을 참조합니까? (홈 버튼을 두 번 누른 다음 앱의 스크린 샷을 스 와이프 한 후 완전히 종료 됨)? –

답변

1

"백그라운드에서 실행 중"과 "앱 종료 중"의 정의가 무엇인지 파악한 후에 가장 많이 묻는 질문이지만이 간단한 질문에 대한 답변은 매우 정확합니다. 아니, 할 수 없습니다. ! 클라이언트 측 (필자의 경우 Xcode)에 작성된 일부 코드를 실행하는 유일한 방법은 원격 서버에서 이벤트가 발생했음을 클라이언트에 알리는 것입니다. iOS에서는 알림을 보내야합니다. APNS는 고객이 적절한 방법으로 통지에 응답해야합니다. 그러나 사용자가 앱을 종료 한 후에도 계속 실행되는 Xcode에 코드를 작성할 수 있는지 여부는 묻지 않았습니다 (스크린 샷을 스 와이프하여 앱을 종료하기 위해 홈 버튼을 두 번 누름). 아니! 원격 서버가 프로세스에 참여하지 않으면이 작업을 수행 할 수 없습니다.

관련 문제