Alexander Vasenin
Alexander Vasenin

Reputation: 12953

How to silence Xcode 11.4 warnings about MobileCoreServices and AssetsLibrary?

After upgrading to Xcode 11.4 beta I've got those warnings from Pods subproject (specifically, from YYImage and Branch targets):

Target Integrity: MobileCoreServices has been renamed. Use CoreServices instead.

Target Integrity: AssetsLibrary is deprecated. Consider migrating to Photos instead.

I have inhibit_all_warnings! in my Podfile, but it has no effect on those.

Is there a way to silence those warnings until the creators of those pods will fix them?

Upvotes: 15

Views: 7854

Answers (3)

Nikunj Sharma
Nikunj Sharma

Reputation: 9

change platform :ios, '13.0' to platform :ios, '11.0' in iOS/Podfile

worked like a charm for me!

Upvotes: 0

Igor
Igor

Reputation: 12303

For mute this warning:

  1. Open Pod target's Build Settings
  2. Select Build Options
  3. Add framework (e.g. AssetsLibrary) to Validate Workspace - Ignored Frameworks

enter image description here

Upvotes: 4

Alexander Vasenin
Alexander Vasenin

Reputation: 12953

I noticed that manually removing those two frameworks from Pods/Frameworks/iOS project navigator group resolves those warnings. Since both frameworks embedded into iOS itself (not app bundle) removing them doesn't have any effect at runtime. Here is how to do it automatically in 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

If this leaves a hanging (null) reference, you can do something like:

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

Upvotes: 11

Related Questions