2014-07-23 1 views
0

오래된 Xcode 프로젝트가 있습니다. 나는 얼마나 오래되었는지 모른다. 하지만 두 개의 AppDelegate 클래스가 있습니다. 나는이이 엑스 코드 3 사용하여 만들어집니다 생각 :AppDelegate_iPhone 및 AppDelegate_iPad 병합

AppDelegate_iPhone and AppDelegate_iPad  

는 내가하고 싶은 대신에 하나 개의 AppDelegate에 클래스를 가지고있다 (지금은 일반적인 기능). 이를 위해 UIApplicationDelegate 프로토콜을 준수하는 UIResponder의 하위 클래스를 만들었습니다. 그런 다음 main.m에서, 나는 다음 반환 :

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

내가 지금 AppDelegate에 클래스는 응용 프로그램의 주요 애플 리케이션 대리인이 될 것이라고 예상했다. 그러나 이것은 일어나지 않습니다. 나는 여전히 컨트롤이 AppDelegate_iPhone 클래스 (iPhone 용 코드를 실행할 때)로가는 것을 보았습니다.

+0

편집하기 전에 main.m 안에 무엇을 올리시겠습니까? – Lebyrt

답변

1

잘 모르겠지만 AppDelegate_iPhone과 AppDelegate_iPad에 아무 것도 쓰지 않았다면, 새 프로젝트를 만들고 원하는 프로젝트에서 생성 된 AppDelegate를 복사 한 다음 main.m에서 새로 만든 AppDelegate를 가져옵니다.

#import "AppDelegate.h" 
+0

새 프로젝트를 만드는 것은 옵션이 아닙니다. 다른 옵션이 있습니까? –

+0

AppDelegate.h 및 AppDelegate.m 파일을 모두 가지고 새 프로젝트를 만들어야합니다. 그런 다음 이전 프로젝트에서이 두 파일을 모두 내 보내야하고 main.m에서 새 AppDelegate – Signo

+0

Oh을 가져옵니다. . 좋아. 내가 그것을 시도하고 돌아올 :) –

0

APpdelegate-iPhone 또는 AppDelegate_iPad는 USerInterfaceIdiom을 사용하여 코드를 결합하고 iPhone과 iPad를 구별하는 대신 새 프로젝트를 완전히 만든 다음 모든 파일을 가져 오는 것이 좋습니다. 많은 사람들이 3.0 이후로 하나의 파일이나 다른 파일에 대한 참조를 잃을지도 모릅니다.

+0

새 프로젝트를 만드는 것은 옵션이 아닙니다. 다른 옵션이 있습니까? –

+0

내가 아는 것은 아니지만 ... 여전히 병합하면 도움이 될 것이라고 생각합니다. – Geet