내 응용 프로그램이로드되면 설치 프로그램의 역할을합니다. "설치"버튼을 누르면 응용 프로그램이 작업을 수행합니다. 필요한 것을 설치 한 다음 앱을 계속 사용할 수 있습니다. 내 응용 프로그램은 정상적으로 작동하지만 멀티 태스킹 막대의 응용 프로그램을 닫을 때마다 응용 프로그램이 원래 설치 관리자와 같은 방식으로 다시로드됩니다. 따라서 사용자는 앱이 다시로드 될 때마다 계속해서 다시 설치해야합니다. 사용자가 항목을 한 번만 설치하고 앱을 종료 한 다음 다시 다운로드하지 않고도 콘텐츠를 다시 사용할 수 있기를 바랍니다. 나는 이것을 위해 NSUserDefaults를 사용할 필요가 있다는 것을 알고 있지만 설치자와 함께 "설치"버튼이 영구히 사라지 길 원합니다. 참고 이것은 상점이 아닙니다. 이것은 길 아래로 더 사용할 수있는 콘텐츠를 설치하기위한 테스트 앱입니다. 어떻게이 모든 것을 할 수 있습니까? 어떤 도움을 주셔서 감사합니다. 감사!응용 프로그램이 닫히면 버튼이 숨겨집니다.
답변
몇 번 이와 같이 구현 한 경우 detect first launch에 가장 적합하며이를 기반으로 설치 프로그램 화면을 표시하십시오. 그러나 사용자가 설치를 완료하지 않은 경우가 있으며 앱이 어떻게 든 백 그라운드로 돌아가거나 살해되는 경우가 있습니다. 이 경우 사용자가 설치를 완료했는지 여부를 기록하는 다른 변수를 저장해야합니다.
가장 간단한 방법은 설정이 처음 완료되지 않은 경우 모달보기 컨트롤러를 마법사 종류로 제시하고, 기본 화면을 그대로 유지하는 것입니다.
설치하기 전에 사용자 기본값을 쿼리하면됩니다. 설치되지 않으면, 필요한 것을 설치하고 사용자 기본값을 설정하십시오!
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *isInstalled = [defaults objectForKey:@"installed"];
if(![isInstalled isEqualToString: @"true"]) {
//do installation here
NSString *hasUserInstalled = @"true";
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:hasUserInstalled forKey:@"installed"];
[defaults synchronize];
}
아마도 boolForKey ..를 사용하는 것이 더 안전하다고 느낍니다. 그래도 여전히 같은 효과를 얻을 수 있습니다. – bgoers
이 방법으로 어디를 가는지 알지만 설치 방법이 너무 많아 "여기서는 설치를 수행합니다"부분에서 모두 호출 할 수는 없습니다. 설치 프로그램에있는 몇 가지 버튼을 사용하여 앱을 종료 할 때 설치 프로그램과 영구적으로 이동해야합니다. 앱이 죽은 후에 버튼이 숨겨져 설치 프로그램을 거의 숨길 수 있도록하려면 어떻게해야합니까? 나는이 앱을 App Store에 제출할 것 같지 않은 상태에서 실제 앱에 사용되는 재미있는 테스트 앱으로 만들고 있습니다. –
NSUserDefaults를 검사하는이 방법을 다룰 것입니다. 그러나 모든 것을 구현할 결정에 달려 있습니다. 귀하의 경우, 나는 동일한 검사를 할 것이지만 반대 조건을 확인하십시오 - isInstalled가 true 인 경우 myInstallerButton.hidden = YES를 수행하십시오. 그렇지 않으면 버튼이 계속 표시되고 사용자가 클릭 할 수 있습니다. – bgoers
- 1. 응용 프로그램이 닫히면 감지합니다.
- 2. 응용 프로그램이 닫히면 SIGSEGV와 함께 응용 프로그램이 충돌하는 이유가 무엇입니까?
- 3. 프레임이 닫히면 wxWidgets 프로그램이 충돌합니다.
- 4. 대화 상자가 닫히면 즉시 Win32 응용 프로그램이 종료합니다.
- 5. 응용 프로그램이 닫히면 windows 모바일 리소스가 해제됩니다. (.net 3.5 cf)
- 6. 응용 프로그램이 닫히면 즉시 DB 연결이 닫힙니 까?
- 7. 일단 프로그램이 닫히면 원격 서비스가 종료됩니다.
- 8. 유효성 검사 오류가있는 Ajax.BeginForm이 반환되면 버튼이 숨겨집니다. 어떻게?
- 9. 창이 닫히면 응용 프로그램에서 포커스가 끊깁니다.
- 10. 나는 아래 jsfiddle 응용 프로그램이 어떻게 여러 버튼이
- 11. 창이 닫히면 창을 복원하지 않습니다.
- 12. 프로그램이 닫히면 배치 파일로 배경 무늬가 변경됩니다. 가능한?
- 13. 창이 닫히면 NSWindowController를 해제하십시오.
- 14. Settings.ACTION_SECURITY_SETTINGS가 닫히면 결과를 얻습니다.
- 15. 응용 프로그램이 작동을 멈췄습니다
- 16. UI 위임을 호출하면 UI가 숨겨집니다.
- 17. 응용 프로그램이
- 18. 응용 프로그램이 닫혔다가 종료되었는지 감지하는 방법
- 19. 내 응용 프로그램이 닫혔는지 감지하는 방법
- 20. 응용 프로그램이 여전히 실행 중입니다.
- 21. 플러그인 GUI가 닫히면 어떻게됩니까?
- 22. 창이 닫히면 JavaScript가 실행됩니까?
- 23. 응용 프로그램 설정에서 (응용 프로그램이 닫힙니다)
- 24. uitableview에서 사용자 정의 셀을 회전하면 데이터가 숨겨집니다.
- 25. 명령 실행 후 대화 상자가 닫히면 MVVM UI 업데이트가 닫힙니다.
- 26. 응용 프로그램이 닫힐 때 양식에 이벤트가 발생합니까
- 27. 응용 프로그램이 예기치 않게 중지되었습니다.
- 28. 응용 프로그램이 runModalForWindow에 붙어 있습니다.
- 29. 브라우저가 닫히면 Flex 데이터를 SQL로 보냅니다. (window.onbeforeunload에서)
- 30. 양식이 닫히면 어떻게 응용 프로그램을 닫을 수 있습니까?
첫 발사를 감지하기보다 그가 언급 한 '설치'완료를 감지해야합니다. 그는 항상 사용자가 첫 번째 출시에 설치하도록 강요한다면 대략 같다고 생각합니다. –
예, 게시물에서 그 주소를 지정합니다. – CodaFi