2017-03-27 6 views
0

기능 플래그 이유로 2 개의 스토리 보드 파일을 갖고 싶습니다. 한 번에 하나씩 만 사용되지만 빌드간에 앞뒤로 전환하기 위해 두 개의 파일이 필요합니다. 그러나 watchOS가로드 할 스토리 보드 파일을 결정하는 위치를 찾을 수 없습니다.watchOS는 기본 스토리 보드 파일을 어떻게 찾을 수 있습니까?

iOS에는 Info.plist에 키 UIMainStoryboardFile이 있습니다. 하지만 watchOS has no such key.

나는 일반정보 섹션 모두에서 현재의 시계 확장 및 시계 앱 목표를 확인

, 나는 스토리 보드 파일에 대한 언급을 볼 수 없습니다.

watchOS WKExtensionDelegateClassName 키가 있습니다. Info.plist는 내 기능 플래그 용도로도 사용됩니다. 그러나 내 WKExtensionDelegate 코드는 특정 스토리 보드를 지정하지 않습니다.

Xcode에서 파일 검사기 오른쪽 창에서 현재 스토리 스토리 보드 파일을 볼 때 초기 스토리 보드에 특별한 표시기 표시가 나타나지 않습니다. 단지 거기에 나열된 경우에 대비해.

App Programming Guide for watchOS에는 연결 방법도 설명되어 있지 않습니다.

아이디어가 있으십니까? 그래서 이후 많은 실험

답변

1

:

결론 :

  • 내가 watchOS에서 상호 배타적 스토리 보드를 가질 수 없습니다.
  • watchOS는 모든 스토리 보드를 한 가지로 병합하는 것 같습니다.
  • WKInterface​Controller을 이름으로 참조하면 watchOS가 적절한 스토리 보드를 선택합니다.
  • 깃발 스토리 보드 장면을 특징 짓기 위해 잘못된 것을로드하지 않도록하십시오.

증거

건물 watchOS 앱 정보가 하나 이상의 인터페이스 컨트롤러가 지정된 경우 여러 스토리 보드에서 "초기 컨트롤러 인"오류와 함께 실패합니다. 오류 : Multiple main entry points were specified. Please designate a single interface controller as the entry point of your watch application.

나는 다음과 같은 시나리오를 고안하고 일했다 :

  • Main.storyboard을 인터페이스 컨트롤러 식별자 "바비"로.
  • 인터페이스 컨트롤러 식별자가 "Sue"인 Main2.storyboard.
  • Main2.storyboard 인터페이스 컨트롤러 바비 "초기 컨트롤러인가".
  • 바비 예상대로 WKInterfaceController.reloadRootControllers(withNames: ["Sue"], contexts: nil)
  • 버튼 작동을 호출 버튼로드 고소 인터페이스 컨트롤러 장면 에서 바비 있습니다.