새로운 xcode-5를 다운로드하고 사용하기 시작했습니다.
스토리 보드와 ARC를 포함하여 직접 응용 프로그램을 만들 수 있지만 이전 버전과 같은 옵션을 요구하지 않습니다.
제 질문은 ARC와 스토리 보드없이 어떻게 xcode5를 사용할 수 있는가입니다. 스토리 보드 파일을 수동으로 제거해야합니까? 또는 다른 옵션이 있습니까?
새로운 xcode-5를 다운로드하고 사용하기 시작했습니다.
스토리 보드와 ARC를 포함하여 직접 응용 프로그램을 만들 수 있지만 이전 버전과 같은 옵션을 요구하지 않습니다.
제 질문은 ARC와 스토리 보드없이 어떻게 xcode5를 사용할 수 있는가입니다. 스토리 보드 파일을 수동으로 제거해야합니까? 또는 다른 옵션이 있습니까?
답변:
빈 애플리케이션으로 프로젝트를 만들고 viewcontroller를 추가합니다 (여기에 TestViewController를 추가했습니다).
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
TestViewController *test = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:test];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
return YES;
}
아크 제거 단계
1) 빌드 설정에서 Automatic Reference Counting 을 NO로 설정 합니다.
////////////////////////////////////////////////// /////////////////////////종료//////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////
스토리 보드 와 ARC 로 이미 만든 응용 프로그램이있는 경우
스토리 보드 제거 단계
1) 프로젝트에서 Main.storyboard 파일을 제거 합니다.
2) 컨트롤러 용 xib로 새 파일을 추가합니다. 빌드 단계에서 컴파일 된 소스에 추가되지 않은 경우 수동으로 추가합니다.
3) plist 에서 메인 스토리 보드 파일베이스 이름 을 제거 합니다 .
4) appdelegate didFinishLaunchingWithOptions 파일을 변경 하고 다음을 추가하십시오.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;
[self.window makeKeyAndVisible];
처럼 :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;
// Override point for customization after application launch.
TestViewController *test = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:test];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
return YES;
}
이제 위의 예에서는 다음과 같이 메모리 관리를 수동으로 관리해야합니다.
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
[test release];
아크 제거 단계
1) 빌드 설정에서 Automatic Reference Counting 을 NO로 설정 합니다.
스토리 보드 파일을 삭제하는 대신 빈 응용 프로그램 템플릿을 사용하여 새 프로젝트를 만들 수 있습니다. 따라서 스토리 보드 파일 생성을 피할 수 있습니다.
스토리 보드를 생략하려면 다음 단계를 사용하십시오.
LoginViewController
)didFinishLaunchingWithOptions
in AppDelegate.m
파일을 변경하십시오 .로 변경:
#import "LoginViewController.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:loginVC];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
ARC 제거 : 빌드 설정-> Objective-C 자동 참조 계산-> 아니오로 이동합니다.
LoginViewController
.
새 프로젝트 생성
! [새 프로젝트 생성]
// Info에서 기본 스토리 보드 파일 기본 이름 제거
Appdelegate에이 코드 추가
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:loginVC];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
그런 다음 스토리 보드를 자동으로 제거합니다.
시도하십시오 ... 성공적으로 실행되었습니다. 감사
ShortCut : 선호
xcode4에서 Storyboard 및 ARC없이 프로젝트를 만든 다음 xcode5에서 해당 프로젝트를 엽니 다.
Xcode 4에는 새 프로젝트를 만들 때 "스토리 보드 사용"확인란이있었습니다. 이전 Xcode 4 애플리케이션 템플릿 (XML 파일)을 가져 와서 Xcode 5로 변환 할 수 있습니다. 이렇게하면 스토리 보드를 원하는지 여부를 선택할 수있는 이전 템플릿을 다시 가져올 수 있습니다.
나는 당신을 위해 일하는 모든 것을 수행하는 스크립트를 작성했습니다 : https://github.com/jfahrenkrug/Xcode4templates
스크립트를 실행하면 "새 프로젝트"화면에 "Xcode 4"섹션이 있습니다.
그리고-아아! -사랑하는 선택을 되 찾습니다.
이 스크립트를 사용하려면 http://developer.apple.com/ios 에서 Xcode 4 .app 번들의 사본이 필요합니다 .