当前位置:  开发笔记 > IOS > 正文

如何使用类似于Lister App的iOS和watchOS 2之间的共享框架设置项目?

如何解决《如何使用类似于ListerApp的iOS和watchOS2之间的共享框架设置项目?》经验,为你挑选了1个好方法。



1> Senseful..:

该项目非常复杂,因为它支持watchOS 1和watchOS 2.

摘要

如果你想要的是支持watchOS 2并在iOS和watchOS 2之间共享代码,你需要创建两个框架,每个平台一个.

watchOS 1:

只需在两个目标(和)中包含.swift文件,即可在watchOS 1和watchOS 2之间共享代码.(请参阅共享Lister WatchKit代码组.)Lister WatchKit ExtensionLister Watch Extension

代码在watchOS 1和iOS之间通过Lister iOS Framework(ListerKit)共享.

watchOS 2:

只需在两个目标(,和)中包含.swift文件,即可在watchOS 2和watchOS 1之间共享代码.(请参阅共享Lister WatchKit代码组.)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 iOS App(Lister):

目标: Lister

产品名称: Lister

支持的平台: iOS

组: Lister iOS App/Main App

目标依赖项: Lister iOS Framework(ListerKit)

目标依赖项: Lister iOS Today小部件(Lister Today)

目标依赖关系: Lister watchOS 2 App(Lister Watch App)

目标依赖关系: Lister watchOS 1 Extension(Lister WatchKit Extension)

链接: Lister iOS Framework(ListerKit.framework)

嵌入: Lister iOS Framework(ListerKit.framework)

嵌入: Lister watchOS 1 Extension(Lister WatchKit Extension.appex)

嵌入: Lister iOS App(Lister.appex)

嵌入: Lister watchOS 2 App(Lister Watch App.app)

Lister iOS Today小工具(Lister TodayLister):

目标: Lister Today

产品名称: Lister

支持的平台: iOS

组: Lister iOS App/Today Widget

目标依赖项: Lister iOS Framework(ListerKit)

链接: Lister iOS Framework(ListerKit.framework)

使用者: Lister iOS App(Lister)

Lister iOS Framework(ListerKit):

目标: ListerKit

产品名称: ListerKit

支持的平台: iOS

Group: Lister iOS App/ListerKit Framework(iOS)

组:共享ListerKit框架代码

使用者: Lister iOS App(Lister)

使用者: Lister iOS Today小工具(Lister Today)

使用者: Lister watchOS 1 Extension(Lister WatchKit Extension)

Lister watchOS 1 Extension(Lister WatchKit Extension):

目标: Lister WatchKit Extension

产品名称: Lister WatchKit Extension

支持的平台: iOS

组: Lister WatchKit App/Lister WatchKit Extension

组:共享Lister WatchKit代码

目标依赖项: Lister iOS Framework(ListerKit)

目标依赖性: Lister watchOS 1 App(Lister WatchKit App)

使用者: Lister iOS App(Lister)

Lister watchOS 1 App(Lister WatchKit App):

目标: Lister WatchKit App

产品名称: Lister WatchKit App

支持的平台: iOS

组: Lister WatchKit App/Lister WatchKit App

使用者: Lister watchOS 1 Extension(Lister WatchKit Extension)

Lister watchOS 2 Extension(Lister Watch Extension):

目标: Lister Watch Extension

产品名称: Lister Watch Extension

支持的平台: watchOS

组: Lister Watch App/Lister Watch Extension

组:共享Lister WatchKit代码

组: Lister Watch App/ListerKit Framework(watchOS)

目标依赖关系: Lister watchOS 2 Framework(ListerKit (watchOS))

链接: Lister watchOS 2 Framework(ListerWatchKit.framework)

嵌入: Lister watchOS 2 Framework(ListerWatchKit.framework)

Lister watchOS 2 App(Lister Watch App):

目标: Lister Watch App

产品名称: Lister Watch App

支持的平台: watchOS

组: Lister Watch App/Lister Watch App

使用者: Lister iOS App(Lister)

Lister watchOS 2框架(ListerKit (watchOS)ListerWatchKit):

目标: ListerKit(watchOS)

产品名称: ListerWatchKit

支持的平台: watchOS

Group: Lister iOS App/ListerKit Framework(iOS)/ iCloud&Local Storage/ListUtilities.swift

组:共享ListerKit框架代码`

使用者: Lister watchOS 2 Extension(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.swift

尽管该项WatchKit主要用于指代本项目中的watchOS 1,但Lister watchOS 2 Framework的产品名称是ListerWatchKit,但它仅用于watchOS 2.注意:watchOS 1不使用框架.

我从列表中省略了OS X groups/targets/etc.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有