2010년에 출시한 구닥다리 앱을 업데이트 해보려고 합니다.
이런일이 거의 없겠지만 가끔은 이런경우가 있을거 같아 기록으로 남겨둡니다. ^^
이번에 2017년에 iOS 11에서는 64bit가 지원 않되는 앱은 다운로드가 않되나 봅니다.
그래서 바쁘다는 핑계로 못하다가
이번에 한번 시도를 해봅니다.
일단 2010년당시 개발한 앱의 iOS 버전이 4.x였네요. ^^;;; 그동안 눈부신 발전을 했죠.
* iOS 버전의 역사
https://ko.wikipedia.org/wiki/IOS_%EB%B2%84%EC%A0%84_%EC%97%AD%EC%82%AC
제의 2010년 첫출시앱 변환마법사가 대상입니다.
이 앱은 ARC도 지원하지 않았고 retain release 개념도 약해서 크래쉬문제도 좀 있습니다.
1. AppDelegate
우선 Xcode로 오픈을 하니 잘 가져오기는 한다.
하지만 빌드하면 다음과 같은 오류가 난다.
2017-08-27 09:36:21.278 TransAllKr[3075:292792] *** Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3600.7.47/UIApplication.m:3677
2017-08-27 09:36:21.289 TransAllKr[3075:292792] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Application windows are expected to have a root view controller at the end of application launch'
=> 해결방법은
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
//[window addSubview:navigationController.view];
[window setRootViewController:navigationController];
[window makeKeyAndVisible];
}
요즘 비교적 최신앱에서는 다음과 같이 한다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// create window
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//iOS 9 부터는 아래와 같이 루트뷰도 세팅 해 주지 않으면 에러가 나온다.
self.window.rootViewController = navigationController;
return YES;
}
위는 메소드로 처리했고 아래는 프로퍼티로 처리했는데
차이가 궁금하다면 좀더 공부하시를 추천한다.
그리고
delegate method의 변화가 있었다는걸 알수 있다. 애플이 하니 따라갈수 밖에 없다. ^^;;;
2. Xib에 ViewController Object가 있는경우 삭제
3. 화면크기를 4인치 이상 지원
옜날 화석 앱이라 위아래가 짤린다.
해결방법은 다음 이미지를 추가해야 4인치 이상이 지원된다.
Default-568h@2x.png (640 × 1136 pixels) 파일이 있어야 한다.
* 아래글 참고한다.
https://stackoverflow.com/questions/18913105/black-bars-showing-when-running-app-on-ios-7-4-inch-retina-display
적용하고 나면 위로 붙는 알수있다.
- 작업중 계속 추가 됩니다. -
'Mobile-아이폰iOS' 카테고리의 다른 글
Objective-C 프로젝트에서 Swift class의 function 호출하기 (0) | 2019.09.05 |
---|---|
iOS Cordova 사용시 NSURLConnection finished with error - code -1100 오류 해결 - 하이브리드앱 (0) | 2019.06.18 |
Swift3 Any/AnyObject 차이, === 연산자 용도, 타입비교 (0) | 2017.08.19 |
iOS UIWebview에서 에러 발생시 reload 처리하기 (0) | 2017.06.30 |
Swift 3.0부터 open과 fileprivate라는 새로운 접근한정자 추가 (0) | 2017.06.03 |