Sen*_*ful 5 ios ios-frameworks apple-watch
该利斯特应用是苹果的只有苹果观察样本项目之一.它首先是为支持watchOS 1而编写的,后来在2015年9月16日更新以支持watchOS 2.因此,有许多目标,组等不能一致地命名,因此很难理解是什么.
我想创建一个类似的项目,我有一个iOS和带有共享代码/框架的watchOS 2.由于Lister应用程序的复杂性,我很难理解如何设置这样的项目.
我应该如何设置项目以便在watchOS 2和iOS应用程序之间共享代码?(注意:不要求支持watchOS 1.)
作为参考,以下是Lister应用程序中的目标,方案和组的列表:
Sen*_*ful 12
该项目非常复杂,因为它支持watchOS 1和watchOS 2.
如果你想要的是支持watchOS 2并在iOS和watchOS 2之间共享代码,你需要创建两个框架,每个平台一个.
Lister WatchKit ExtensionLister Watch ExtensionListerKit)共享.Lister WatchKit ExtensionLister Watch Extension通过在Lister iOS Framework()和Lister watchOS 2 Framework()中包含共享文件(例如),在watchOS 2和iOS之间共享代码.(请参阅共享ListerKit框架代码组.)List.swiftListerKitListerKit (watchOS)
在watchOS 2 Transition Guide 的iOS应用程序和watchOS App部分之间的共享代码中,他们确认了watchOS 2的这种设置:
在watchOS 2中,您可以在iOS应用和Watch应用之间共享代码,但不能共享框架.由于应用程序在具有不同体系结构的不同平台上运行,因此必须为每个平台单独编译源文件.如果您仍希望使用框架来管理任何共享源文件,则必须为每个平台创建单独的框架目标,并将共享源文件添加到每个框架.
[...]
注意
为WatchKit扩展创建单独的框架目标后,必须分别为iOS和watchOS管理该框架的内容.如果您将文件添加到框架的iOS版本,请记住将它们添加到watchOS版本.
注意:在这个项目中,无论你在哪里看到WatchKit,这通常都是指watchOS 1,而Watch则是指watchOS 2.
Lister):ListerKit)Lister Today)Lister Watch App)Lister WatchKit Extension)ListerKit.framework)ListerKit.framework)Lister WatchKit Extension.appex)Lister.appex)Lister Watch App.app)Lister Today或Lister):ListerKit)ListerKit.framework)Lister)ListerKit):Lister)Lister Today)Lister WatchKit Extension)Lister WatchKit Extension):ListerKit)Lister WatchKit App)Lister)Lister WatchKit App):Lister WatchKit Extension)Lister Watch Extension):ListerKit (watchOS))ListerWatchKit.framework)ListerWatchKit.framework)Lister Watch App):Lister)ListerKit (watchOS)或ListerWatchKit):Lister Watch Extension)Shared Lister WatchKit Code组包含watchOS 1和watchOS 2 扩展共享的代码.Lister Watch App/ListerKit Framework (watchOS)组的名称暗示它应该是ListerKit (watchOS)目标的一部分,但它是Lister Watch Extension目标的一部分.Shared ListerKit Framework Code主要用于在iOS,watchOS和OS X ListerKit框架之间共享代码.不过,也有来自省略了一些文件ListerKit (watchOS)的目标:SegueHandlerType.swift,CheckBoxLayer.swiftWatchKit主要用于指代本项目中的watchOS 1,但Lister watchOS 2 Framework的产品名称是ListerWatchKit,但它仅用于watchOS 2.注意:watchOS 1不使用框架.