写在前面
因为公司后期可能需要用到AppleTV、iPad、iOS等苹果多平台开发,so最近在做这方面的前期技术开发调研,通过该链接下载了一个tvOS demo,发现一个有趣的点就是该项目是兼容苹果所有平台的项目,如iOS、tvOS、macOS、watchOS等。如下结构:
问题来了,如何构建这样的项目?
有意思的是在stack overflow上找到一位同样遇到该问题的同仁 ->
问题
解答
我这边是借用了Xcode自带的MutiPlatform项,当然你也可以跟stackoverflow上那位网友那么操作,都差不多,重点是共享文件夹里面的文件给哪些target授权。
Environment
1、macOS Big Sur 11.5
2、Xcode 12.5.1
3、模拟器 4k tvOS 14.5
步骤
主要三个点
- MultiPlatform创建工程
- 确定共享的文件
- 修改Development Assets配置
1、cmd+shift+n 创建MultiPlatform工程,如下图:
默认会创建iOS和macOS Target该方式下默认只会创建iOS和macOS,如下图(马赛克打的是tvOS,这是后面手动创建的,先忽略)
2、将需要共享的文件移到Shared文件夹,且授权所有Target访问(这是重点),移除其余不需要的文件。如下图:
以上步骤改完之后,选择tvOS scheme运行发现,会编译报错,需要继续步骤3
3、修改Development Assets配置
下面是直接删除了相关assets,当然你也可以改成Shared里面assets或直接保留原来assets
网友评论