사용자가 앱을 열 때마다 타임 스탬프를 기록하고 싶습니다. 이제는 ViewDidLoad
메서드로 기록 할 수 있었지만 사용자가 앱을 닫고 배경으로 이동 한 다음 앱을 다시 열면 ViewDidLoad
이 더 이상 실행되지 않기 때문에 타임 스탬프를 얻을 수 없습니다. 내 타임 스탬프 코드를 어디에 둘 것인지 생각하는 사람이 있습니까?사용자가 앱을 사용할 때마다 TimeStamp를 기록하십시오.
답변
당신은 - (void)applicationDidBecomeActive:(UIApplication *)application
안에 넣어 수 있습니다,하지만 그것은 좋지 않다 접근법은 앱을 시작하는 사용자가 타임 스탬프가 저장되는 유일한 활동이 아니기 때문에이 메소드가 ca를 얻을 수있는 다른 상황이 있으므로 lled. 애플의 Documentation
applicationDidBecomeActive에서
는 : 응용 프로그램 이 활성화되고있다 대리자를 알려줍니다.
이 메서드는 응용 프로그램에 이 비활성 상태에서 활성 상태로 이동했음을 알리기 위해 호출됩니다. 이는 사용자 또는 시스템이 응용 프로그램을 시작했기 때문에 발생할 수 있습니다. 응용 프로그램이 을 일시적으로 비활성 상태로 보낸 인터럽트 (들어오는 전화 통화 또는 SMS 메시지 등)를 무시하도록 선택하면 응용 프로그램도 을 활성 상태로 되돌릴 수 있습니다.
올바른 접근 방식은 모두 application:didFinishLaunchingWithOptions:
및 applicationWillEnterForeground:
내부에 첫 번째 방법은 첫 번째 실행하고 응용 프로그램이 백그라운드에서 실행되는 두 번째에 불려가는 타임 스탬프를 저장하는 코드를 삽입하는 것입니다. 무시 된 인터럽트가 앱을 백그라운드로 보내지 않으므로 applicationWillEnterForeground
은이 경우 호출되지 않으므로 사용자가 전화 통화를 무시한 후에도 타임 스탬프가 저장되지 않습니다.
this answer을 확인하십시오. 배경에 앱을 보내고 포 그라운드로 다시 가져 오는 방법과 각 기능을 사용해야하는 방법에 대한 역할을 매우 잘 요약하고 있습니다.
을 앱 대리인에 구현하거나 UIApplicationDidBecomeActiveNotification
알림을 확인하십시오.
대신 - (void)viewDidAppear:(BOOL)animated:
을 사용해보세요. 보기가 화면에 나타날 때마다 호출됩니다.
또는 당신이 UIApplicationDelegate
에보고 같은 것을 구현하는 시도 할 수 있습니다 :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
또는
- (void)applicationDidBecomeActive:(UIApplication *)application
- 1. 사용자가 내 안드로이드 앱을 사용할 때마다 사용자를 인증해야합니까?
- 2. 사용자가 전경 앱을 열 때마다 감지
- 3. 안드로이드 앱을 사용할 때마다 다른 폴더를 생성합니다.
- 4. 전화가 걸릴 때마다 통화 정보를 기록하십시오.
- 5. 앱을 닫을 때마다 앱을 추천합니다.
- 6. 사용자가 앱을 다시 설치할 때마다 내구성 제품을 구매할 수 있습니까?
- 7. 사용자가 앱을 열 때마다 이미지를 다시 다운로드하지 않을 방법이 있습니까?
- 8. OnSessionStateChange는 사용자가 앱을 열고 이미 로그인했을 때마다 호출됩니다.
- 9. sfDoctrineGuard에서 사용자가 수행 한 작업을 기록하십시오.
- 10. TweetSharp에서 Twitter OAuth를 사용할 때 사용자가 로그인 할 때마다 내 앱을 승인하라는 메시지가 계속 나타납니다.
- 11. 앱을 열 때마다 앱을 다시 시작하려면 어떻게해야합니까?
- 12. 사용자가 Android 애플리케이션으로 돌아올 때마다 로그인해야합니다.
- 13. 사용자가 내 웹 앱을 사용할 수있는 시간을 제한하십시오.
- 14. 사용자가 웹 응용 프로그램을 사용할 때마다 세션을 만드는 방법은 무엇입니까?
- 15. ELMAH를 사용할 때 던지지 않고 예외를 기록하십시오.
- 16. 이스라엘 사용자가 앱을 추락했습니다.
- 17. 사용자가 앱을 구매했는지 확인
- 18. sinatra를 사용할 때마다
- 19. 사용자가 앱을 평가했는지 여부를 확인하십시오.
- 20. Android : 앱을 열 때마다 LicenseChecker를 호출해야합니까?
- 21. Galaxy Nexus 사용자가 내 앱을 사용할 수없는 이유는 무엇입니까?
- 22. 모든 깨진 검증을 기록하십시오
- 23. 긴 timestamp를 Java.util.Date로 변환합니다.
- 24. 현재 TimeStamp를 얻는 방법?
- 25. 현재 날짜에서 TIMESTAMP를 뺀
- 26. 셀의 변형을 기록하십시오.
- 27. 코드에서 timeStamp를 얻을 수있는 방법
- 28. 사용자가 이미 LinkedIn에 로그인되어 있는지 검색하고 결과를 기록하십시오.
- 29. iPad 앱을 닫을 때마다 다시 시작하도록하려면 어떻게해야합니까?
- 30. Android에서 앱을 원할 때마다 키보드 숨기기
대신에 viewWillAppear을 사용하십시오. http://stackoverflow.com/questions/3643559/what-uiviewcontroller-method-is-called-when-opening-app-from-background – Madivad
'viewWillAppear :'[전화를받을 수 없습니다] 것 (HTTP ://stackoverflow.com/questions/5277940/why-does-viewwillappear-not-get-called-when-an-app-comes-back-from-the-background) 애플리케이션이 포 그라운드로 들어갈 때. – omz