我的iOS应用遵循“照片扩展”模板:-独立的“容器”应用-照片编辑扩展程序,可以通过将其嵌入上面的应用程序中进行部署。
根据Apple的建议,应用程序和扩展名均由[[shared所包含的代码”收集在应用程序中嵌入的“核心” cocoa框架中,并且应用程序和扩展名已链接。
所以我的Xcode项目包含三个目标
:此外,框架,应用程序和扩展取决于我在Github上拥有的两个库
MyLibraryA和
MyLibraryB(而MyLibraryA取决于MyLibraryB) 。
我最初使用迦太基在MyLibraryA和MyLibraryB
上设置了依赖项,并且一切正常。我删除了项目和目标,框架搜索路径等中所有与迦太基相关的设置,以确保引用了我的库的Swift Package版本,而不是引用了缓存的迦太基版本。我还删除了迦太基目录(签出和构建)。
问题当我建立共享/嵌入式Framework
但是当我尝试构建App或
App Extension
目标时,出现了指向共享框架Swift标头(MyFramewor-Swift.h)的错误:// ...
@import CoreGraphics;
@import CoreImage;
@import Foundation;
@import PhotosUI;
@import UIKit;
@import MyLibraryA; <-- Module 'MyLibraryA' Not Found
// ...
以及结果:无法构建Objective-C模块'MyFramework'
我知道作为二进制文件分发的框架不能依赖Swift包,但是此嵌入式框架是从源代码
然后嵌入 然后本地编译的。
也许我可以对Xcode上的设置进行一些更改以使其正常工作?
我尝试将Framework目标的Build Settings中的Enable Modules (C and Objective-C)
更改为No
,但无济于事。