티스토리 뷰
고객사에서 신규 업데이트가 있을 경우 앱 실행시 팝업창을 출력해달라고해서 만들어보았다.
-(void)verCheck{
NSDictionary *bundleInfo = [[NSBundle mainBundle] infoDictionary];
NSString *bundleIdentifier = [bundleInfo valueForKey:@"CFBundleIdentifier"];
NSURL *lookupURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?bundleId=%@", bundleIdentifier]];
NSData *lookupResults = [NSData dataWithContentsOfURL:lookupURL];
NSDictionary *jsonResults = [NSJSONSerialization JSONObjectWithData:lookupResults options:0 error:nil];
NSUInteger resultCount = [[jsonResults objectForKey:@"resultCount"] integerValue];
if (resultCount){
NSDictionary *appDetails = [[jsonResults objectForKey:@"results"] firstObject];
NSString *latestVersion = [appDetails objectForKey:@"version"];
NSString *currentVersion = [bundleInfo objectForKey:@"CFBundleShortVersionString"];
NSLog(@"latestVersion====%@",latestVersion);
NSLog(@"currentVersion====%@",currentVersion);
//앱스토어에 올라간 버전과 빌드버전이 다를경우 팝업을 출력한다.
if(latestVersion!=currentVersion){
NSLog(@"업데이트가 필요함");
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"앱 업데이트 안내"
message:@"앱이 업데이트 되었습니다. \n최신버전으로 업데이트 해주세요"
delegate:self
cancelButtonTitle:@"취소" /* nil 로 지정할 경우 cancel button 없음 */
otherButtonTitles:@"앱스토어로 이동", nil];
[alert show];
}
}
}
//앱스토어로 이동 버튼 클릭시
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
// OK 버튼을 눌렀을 때 버튼Index가 1로 들어감
if (buttonIndex == 1) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://naver.com"]];
}
else {
}
}
사용하땐 팝업 호출하는 부분이랑 앱스토어의 앱 주소만 변경해서 쓰면 된다.
'IT > 모바일' 카테고리의 다른 글
[flutter] 채팅 목록에서 최종 채팅 시간 보여주기 (0) | 2023.04.05 |
---|---|
ios / flutter 시뮬레이터 빌드시 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a 에러 해결방법 (0) | 2023.04.03 |
xcode 14.3 아카이브시 PhaseScriptExecution failed with a nonzero exit code 에러 해결방법 (12) | 2023.04.03 |
cocoaPod install (0) | 2018.01.31 |
[ios] Frame for "___" will be different at run time. (0) | 2015.06.02 |
- Total
- Today
- Yesterday
- 아이폰
- NSPrivacyAccessedAPICategoryUserDefaults
- but linking in object file
- NSPrivacyAccessedAPICategoryDiskSpace
- CDN: trunk URL couldn't be downloaded
- 슬랙으로 보내기
- flutter build ipa
- Error (Xcode): Target release_unpack_ios failed: Exception: Binary
- EC2
- ITMS-91053: Missing API declaration
- 리눅스 python3 설치
- PlatformException(sign_in_failed
- python3.12 설치
- com.google.android.gms.common.api.ApiException: 10:
- Xcode
- Response: Failure when receiving data from the peer
- aws python3.12
- NSPrivacyAccessedAPICategorySystemBootTime
- 베란다 수경재배
- NSPrivacyAccessedAPICategoryFileTimestamp
- ios pod install error
- 수경재배키트
- 해결방법
- Flutter
- ios
- ios 앱 심사상태
- Firebase
- google play appcheck
- MySQL
- Failed to launch iOS Simulator: Error: Emulator didn't connect within 60 seconds
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |