如何消除关于 MobileCoreServices 和 AssetsLibrary 的 Xcode 11.4 警告?
How to silence Xcode 11.4 warnings about MobileCoreServices and AssetsLibrary?
升级到 Xcode 11.4 beta 后,我从 Pods
子项目(具体来说,来自 YYImage
和 Branch
目标):
Target Integrity: MobileCoreServices has been renamed. Use CoreServices instead.
Target Integrity: AssetsLibrary is deprecated. Consider migrating to Photos instead.
我的 Podfile
中有 inhibit_all_warnings!
,但它对那些没有影响。
有没有办法让这些警告静音,直到 pods 的创建者修复它们?
我注意到从 Pods/Frameworks/iOS
项目导航器组中手动删除这两个框架可以解决这些警告。由于两个框架都嵌入到 iOS 本身(不是应用程序包)中,因此删除它们在运行时没有任何影响。以下是如何在 Podfile
post-install hook 中自动执行此操作:
post_install do |installer|
installer.pods_project.frameworks_group["iOS"]["MobileCoreServices.framework"].remove_from_project
installer.pods_project.frameworks_group["iOS"]["AssetsLibrary.framework"].remove_from_project
end
如果这留下了一个挂起的 (null)
参考,您可以这样做:
post_install do |installer|
framework = installer.pods_project.frameworks_group["iOS"]["MobileCoreServices.framework"]
framework.referrers.each do |ref|
if ref.isa == "PBXBuildFile"
ref.remove_from_project
end
end
framework.remove_from_project
end
要忽略此警告:
- 打开 Pod 目标的构建设置
- Select 构建选项
- 将框架(例如 AssetsLibrary)添加到
Validate Workspace - Ignored Frameworks
更改平台 :ios, '13.0' 为
平台:ios,iOS/Podfile
中的“11.0”
对我来说就像一个魅力!
升级到 Xcode 11.4 beta 后,我从 Pods
子项目(具体来说,来自 YYImage
和 Branch
目标):
Target Integrity: MobileCoreServices has been renamed. Use CoreServices instead.
Target Integrity: AssetsLibrary is deprecated. Consider migrating to Photos instead.
我的 Podfile
中有 inhibit_all_warnings!
,但它对那些没有影响。
有没有办法让这些警告静音,直到 pods 的创建者修复它们?
我注意到从 Pods/Frameworks/iOS
项目导航器组中手动删除这两个框架可以解决这些警告。由于两个框架都嵌入到 iOS 本身(不是应用程序包)中,因此删除它们在运行时没有任何影响。以下是如何在 Podfile
post-install hook 中自动执行此操作:
post_install do |installer|
installer.pods_project.frameworks_group["iOS"]["MobileCoreServices.framework"].remove_from_project
installer.pods_project.frameworks_group["iOS"]["AssetsLibrary.framework"].remove_from_project
end
如果这留下了一个挂起的 (null)
参考,您可以这样做:
post_install do |installer|
framework = installer.pods_project.frameworks_group["iOS"]["MobileCoreServices.framework"]
framework.referrers.each do |ref|
if ref.isa == "PBXBuildFile"
ref.remove_from_project
end
end
framework.remove_from_project
end
要忽略此警告:
- 打开 Pod 目标的构建设置
- Select 构建选项
- 将框架(例如 AssetsLibrary)添加到
Validate Workspace - Ignored Frameworks
更改平台 :ios, '13.0' 为 平台:ios,iOS/Podfile
中的“11.0”对我来说就像一个魅力!