use*_*829 9 ios swift xcframework
创建这样的 xcframework 时
xcodebuild archive -project endiosOne-iOS.xcodeproj -scheme EOFoundation -destination="iOS" -archivePath /tmp/xcf/ios.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
xcodebuild archive -project endiosOne-iOS.xcodeproj -scheme EOFoundation -destination="iOS Simulator" -archivePath /tmp/xcf/iossimulator.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework -framework /tmp/xcf/ios.xcarchive/Products/Library/Frameworks/EOFoundation.framework -framework /tmp/xcf/iossimulator.xcarchive/Products/Library/Frameworks/EOFoundation.framework -output /tmp/ xcf/EOFoundation.xcframework
然后将框架添加到现有项目或新项目中,我们在导入框架时遇到此错误。
无法从其模块界面构建模块“EOFoundation”;它可能已损坏,或者可能在生成时触发了 Swift 编译器中的错误
使用 xcode 12.1,也尝试使用 Xcode 11。尝试使用新的 UIKit 应用程序和新的 SwiftUI 应用程序
我们得到以下 UIKit 错误UIKit 错误
我无法修复 UIKit 中的错误,因为它在 UIKit 中:不幸的是,苹果没有给我们很多关于如何解决这个问题的信息。
我该如何解决这个问题,以便我使用在另一个项目中生成的 xcframework?
小智 8
我就此问题向 Apple 发出了反馈请求,他们提出了以下建议:
\n我们可以告诉您,有一个符合您的描述的已知问题:如果您的模块名为 \xe2\x80\x9cMyModuleName\xe2\x80\x9d 并且它还声明或导入名为\xe2\x80\x9cMyModuleName\xe2\ 的类型x80\x9d,文件中应该引用该模块的名称将被解析为类型,从而在您尝试导入它时导致错误。Swift 开源项目\xe2\x80\x99s 错误跟踪器在https://bugs.swift.org/browse/SR-14195的公开文章中描述了此错误及其解决方法
\n果然,我从框架导出的类型与我导入它的模块的名称完全相同。重命名类型解决了我的问题。
\n解决方案是删除扩展 UITextView 中的公共方法: UITextViewDelegate {
并简单地将其添加到 UITextView 的 fileprivate 子类中。
| 归档时间: |
|
| 查看次数: |
3342 次 |
| 最近记录: |