2011-11-07 3 views
2

iPad 및 iPhone 버전이되도록 내 첫 번째 범용 앱을 쓰고 있습니다.iOS Universal App - iPad 및 iPhone의 다른 펜촉에 액세스하십시오.

iPad 버전은 Resources-iPad 폴더에 있으며 'InfoViewController-iPad.xib'라고합니다. 아이폰의 메인 폴더에있는 버전과 소위 'InfoViewController.xib'

이 잘 작동 아이폰에서 실행되는 경우 I는 관련 XIB에게

-(void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event { 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    { 
     infoViewController = [[InfoViewController alloc] initWithNibName:@"Resources-iPad/InfoViewController-iPad" bundle:nil]; 
    } 
    else 
    { 
     infoViewController = [[InfoViewController alloc] initWithNibName:@"InfoViewController" bundle:nil]; 
    } 

    infoViewController.delegate = self; 
    infoViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 

    [self presentModalViewController:infoViewController animated:YES]; 

    [infoViewController release]; 

} 

를 표시하는 다음과 같은 조치를해야하지만, 실행시 충돌 iPad에서. 어떤 도움도 정말 감사 할 것입니다.

+0

폴더 이름의 답변은 정확하지만 실제로 충돌이 발생한 곳을 알아 냈어야하며 infoViewController가 0이 아니었다는 사실을 알고 있어야합니다. 그 다음 그것을 계산하려고 노력했다. –

답변

1

iPad 버전의 펜촉 이름에 폴더 이름을 넣지 않아도됩니다. 아이폰 버전과 다른 이름을 가진 경우 폴더 이름을 찾을 수 있습니다.

initWithNibName에서 폴더를 제거 할 수없는 경우 질문을 편집하고 콘솔에서 백 트레이스 결과를 게시하십시오.

+0

폴더 이름이 필요하지 않은 것은 맞았습니다. 그러나 어떤 이유로 InfoViewController-iPad를 프로젝트 (참고 용)에서 제거한 다음 다시 추가해야했습니다. – CarlG

0

iPad 펜촉에 Resources-iPad/이라는 접두사가 필요하지 않습니다. iOS는 번들의 리소스를 찾는 방법을 알고 있습니다. Xcode에서 볼 수있는 폴더 계층 구조는 단순히 파일을 구성하고 개발자에게 이익이됩니다.

관련 문제