2017-03-27 29 views
0

我想为故事板文件提供两个功能标记原因。一次只能使用一个,但我希望有两个文件可以在构建之间来回切换。但是,我无法找到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与接口控制器标识符“鲍比”。
  • Main2.storyboard带有接口控制器标识符“Sue”。
  • Main2.storyboard接口控制器鲍比“是初始控制器”。
  • 鲍比有按钮,预期它调用WKInterfaceController.reloadRootControllers(withNames: ["Sue"], contexts: nil)
  • 按钮工作和负载接口控制器现场从鲍比