[英]Invalid deployment target of the framework
I want to decrease the framework deployment target from iOS 10 to iOS 9. I did the fork of the library, changed deployment target of the framework TARGET (not whole project). 我想将框架部署目标从iOS 10降低到iOS9。我做了库的分支,更改了框架TARGET的部署目标(不是整个项目)。 When I build the dependency I can see in info.plist that deployment target is iOS 9 (screenshots attached) in the framework and iOS 8 in the framework's dependency.
构建依赖关系时,我可以在info.plist中看到部署目标是框架中的iOS 9(附带屏幕截图)和框架依赖中的iOS 8。 Anyway, my project where I attach those still outputs that iOS 10 is required for this framework (yes, i did clean, delete derived data, change simulator, reset xcode).
无论如何,我附加这些项目的项目仍然输出该框架需要iOS 10(是的,我确实清理过,删除了派生的数据,更改了模拟器,重置了xcode)。
.../MyFile.swift:13:8: Module file's minimum deployment target is ios10.0 v10.0: .../MapFramework.framework/Modules/MapFramework.swiftmodule/arm64.swiftmodule
... / MyFile.swift:13:8:模块文件的最小部署目标是ios10.0 v10.0:... / MapFramework.framework / Modules / MapFramework.swiftmodule / arm64.swiftmodule
(that's in Swift file in the line where I have import MapFramework
) (在我
import MapFramework
的行中的Swift文件中)
The issue was happening, because by mistake, there were two copies of the same .framework in the file hierarchy. 之所以发生此问题,是因为错误地在文件层次结构中存在同一.framework的两个副本。 One was in Carthage folder, another one in root folder.
一个在Carthage文件夹中,另一个在根文件夹中。 Even though marking in
Xcode -> Reveal in Finder
on the framework it always shown framework in Carthage folder, somehow it was processing both of these. 即使在框架的
Xcode -> Reveal in Finder
上标记,它始终在Carthage文件夹中显示框架,但以某种方式它正在处理这两个文件。 After removal of the framework located in root folder everything was working perfectly fine (I didn't have to change any paths or references in Xcode, what shows that Xcode all of the time was pointing to the correct version). 删除位于根文件夹中的框架后,一切工作都很好(我不必在Xcode中更改任何路径或引用,这表明Xcode一直都指向正确的版本)。
Seems like an Xcode bug. 好像是Xcode的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.