App Store에 응용 프로그램이 있습니다. 새 버전 (1.2.0)을 변경하고 사용자가 App Store에서 앱을 업데이트하면 앱에서 일련의 자습서를 실행하기를 원합니다. 자습서를 실행하는 것은 문제가되지 않습니다. 그것은 AppDelegate 또는 어딘가에 사용자가 업데이트 후 앱을 처음 실행할 때만 실행되는 메소드가 있는지 의문입니다.사용자가 App Store에서 iOS 앱을 업데이트 할 때 빠른 절차 집합을 실행하십시오.
나는이 질문을 NSUserDefaults의 사용을 가리키는 iOS : Call a method just one time으로 보았습니다. 그러나 그것은 훌륭합니다. 그러나 특정 버전 번호와 제 경우에는 어떻게 배치할까요?
간단히 말해서, "사용자가 < 1.2.0을 실행하고 1.2.0으로 업데이트하고,이 코드를 실행하고, 그렇지 않으면 무시합니다."라는 코드를 실행하고 싶습니다. 앱을 업데이트 할 때와 마찬가지로 처음 몇 가지 화면 만 표시됩니다.
미안하지만이 코드는 어디에서 실행해야 할 지 잘 모르겠습니다. 내 스토리 보드에는 초기 루트보기 컨트롤러가 탭 막대 컨트롤러로 설정되어 있습니다. 사용자가 앱을 실행할 때 표시되는 첫 번째 표보기에서 이것을 설정할 수 있습니까? 그렇다면 어떻게 그런 일을 할 것인가?
가 UPDATE : 내 AppDelegate에 didFinishLaunching에서 , 나는 다음과 같은 코드를 넣어 다음의 viewDidLoad에서, 내 타임 라인 테이블보기 (호출되는 첫 번째보기)에서
NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSLog(@"Version is %@", version);
[[NSUserDefaults standardUserDefaults] setObject:version forKey:@"CFBundleShortVersionString"];
[[NSUserDefaults standardUserDefaults] synchronize];
를, 내가 넣어 :
self.appVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"CFBundleShortVersionString"];
if ([self.appVersion isEqualToString:@"1.2.0"])
{
if ([TutorialViewController hasSeenTutorial] == NO)
{
NSArray *tutorialImages = [[NSArray alloc] init];
tutorialImages = @[[UIImage imageNamed:@"TimelineTut.png"],
[UIImage imageNamed:@"Tut 1.png"],
[UIImage imageNamed:@"Tutty 2.png"],
[UIImage imageNamed:@"newtut3.png"],
[UIImage imageNamed:@"newnewtut4colors.png"],
[UIImage imageNamed:@"newtut5.png"],
[UIImage imageNamed:@"tut 6.png"]];
TutorialViewController *tutorial = [[TutorialViewController alloc] initWithImages:tutorialImages];
[self presentViewController:tutorial animated:YES completion:nil];
[TutorialViewController setHasSeenTutorial:YES];
}
}
그러나 1.1.0에서 1.2.0으로 업데이트하면 튜토리얼이 재생되지 않습니다.
모든 안내가 정말 좋을 것입니다.
감사합니다,
사용자 기본값으로 버전을 저장할 필요가 없습니다. 번들에서 언제든지 버전을 가져올 수 있습니다. 버전 문자열이 정확히 1.2.0입니까? 기존 앱 버전에 비해 새 앱을 AdHoc에 설치하면 작동합니까? – TheEye
그리고 "hasSeenTutorial"함수는 사용자 기본값 (동기화되는 플래그)에 플래그를 설정하는 것입니까? 그건 아마 부울이 아니지만 버전 번호, 그렇지 않으면 다음 응용 프로그램 업데이 트가 "hasSeenTutorial"= 사실 ... – TheEye
고마워요 @ TheEye - 당신은 그걸로 hasSeenTutorial 부울, 내가 그것을 버전 번호를 변경 그게 속임수 였어. 이제 앱 스토어에서 앱을 다운로드 한 다음 Xcode를 사용하여 1.2.0으로 업데이트하면 튜토리얼을 재생합니다. 이걸 도와 주셔서 고맙습니다! – amitsbajaj