2011-07-25 5 views
0

나는 ShareKit, 아이폰 OS 애플 리케이션을위한 오픈 소스 공유 재단과 함께 일하고 있어요. 키트가 루트보기 컨트롤러가 무엇인지 감지하지 못하도록하는 알려진 버그가 있습니다. 이 버그에 대한 픽스는 [SHK setRootViewController:myViewController];을 앱 위임에 추가합니다. 수정이 UIApplication didFinishLaunching 방법에있는 경우루트보기 컨트롤러?

, 뷰 컨트롤러는 self되지 않을 것? 내가 뭘 놓치고 있니? 나는 또한 아무 소용 self.viewController, self.window.rootViewControllerself.window을 시도했습니다.

편집 : 여기에 전체 didFinishLoading는 다음과 같습니다

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 
    self.window.rootViewController = self.viewController; 
    [self.window makeKeyAndVisible]; 
    [SHK setRootViewController:self.viewController]; 

    return YES; 
} 

답변

2

그것은 단지는 UIApplication를 참조합니다 didFinishLaunching, 당신이 동의하지 않는에서 "자기"될 경우? viewController를 올바르게 초기화하고 있습니까? 더 많은 코드를 게시하십시오. : 당신의 편집에

코멘트 : 당신이 당신의 창은 당신의 XIB에서 일반적으로 설정 한 경우

이 필요하지 않습니다 :

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

을 또한, 당신이 경우에이 (추정 당신의 ViewController가 자산으로 유지) :

self.viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 

누출이 있습니다. 그냥 다음과 같이하십시오 :

viewController = [[Chatter_BoxViewController alloc] initWithNibName:@"Chatter_BoxViewController" bundle:nil]; 
+0

편집 내용에 코드가 추가되었습니다. 생각해보십시오. –

+0

내 게시물을 편집했습니다. – Peres

+0

사람들은 아이폰 OS 5보기 기반 응용 프로그램에서 그냥 기본값입니다, 내가 그들을 변경되지 않았습니다. iOS 5의 ARC 때문에 'self.viewController'가 누출 될 염려가 없습니다. 나는 여전히'[SHK]'줄에 대해 궁금해하고있다. –