The app links to non-public libraries when validating on xcode 15.0 beta

Hi, team

I have a problem with validating the app after finishing an archive. Please help to check this issue. Thank you.

Full errors

The app links to non-public libraries in Payload/Runner.app/Frameworks/image_picker_ios.framework/image_picker_ios: /System/Library/PrivateFrameworks/AVFCapture.framework/AVFCapture, /System/Library/PrivateFrameworks/AVFCore.framework/AVFCore (ID: 99d7af6c-ad1f-4af6-962f-944fee3f9996)

System details

  • macOS: 14.0 Beta (23A5257q)
  • Xcode: 15.0 beta (15A5160n)
  • Flutter & Dart: 3.10.5 | 3.0.5
Post not yet marked as solved Up vote post of moscubetiq Down vote post of moscubetiq
3.2k views

Replies

Same problem, I already visited about 300 internet pages to fix it and tried to use Transporter app, but no success

The immediate cause of this issue is that your app contains a framework, image_picker_ios, that links to private frameworks, namely AVFCapture and AVFCore. It shouldn’t be doing that.

As to how it got that way, it’s hard to say based on the info presented so far. Are you building the image_picker_ios framework from source? Or using a copy built by someone else?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Same problem, I'm re-building an old ARKit project, and get the same error The app links to non-public libraries in Payload/XYZ.app/XYZ: /System/Library/PrivateFrameworks/AVFCapture.framework/AVFCapture, /System/Library/PrivateFrameworks/AVFCore.framework/AVFCore (ID: d6c054fd-1c55-40b0-8338-9f333e0d625b) building on Xcode 15 beta, for iOS 14. I don't know what image_picker_ios is, however I'm not using any packages/pods etc, and a search even for picker doesn't even turn up in my source.

I was having this issue with Xcode-beta 15, i went back to Xcode 14.2 and could archive + publish fine. Then out of curiosity went to the beta version and re-submitted, and it worked.. This is pretty confusing..

Same problem. Looks like a bug in the App Store Connect.

Ok, it looks like either Xcode 15 or the App Store Connect that is mistakenly marking AVFoundation framework as private. Hence the bug.

After stripping AVFoundation from my project, I was able to avoid this error. Good luck if your 3rd party library is using it though.

What is interesting is that if you check the main header for AVFoundation you will see similar files that are getting imported by the framework and then marked as private:

#if __has_include(<AVFoundation/AVFCore.h>)
#import <AVFoundation/AVFCore.h>
#else
#import <AVFCore/AVFCore.h>
#endif

#if __has_include(<AVFoundation/AVFAudio.h>)
#import <AVFoundation/AVFAudio.h>
#endif

#if __has_include(<AVFoundation/AVFCapture.h>)
#import <AVFoundation/AVFCapture.h>
#else
#import <AVFCapture/AVFCapture.h>
#endif

Submitted FB12425841

Facing the same problem. Any solution?

I've had this issue intermittently for the past week while uploading iOS 17-only builds to ASC. Sometimes a clean build would fix it. For past couple of days not even that would help. I've had to move the files from the framework to a folder directly in the app and now it uploads fine. Very annoying.

I have the same issue while using BarcodeScanner in my app...

The app links to non-public libraries in Payload/MyApp.app/Frameworks/BarcodeScanner.framework/BarcodeScanner

Any updates on a fix ?

Fixed in Xcode 15 beta 3.

  • Are you sure about this? I'll try this till next publish.

  • Are you sure about this? I'll try beta3 later.

  • Can confirm :) Phew, spared me of a complete re-install.

Add a Comment

I'm afraid it doesn't work. I only checked that the app could validate. And it validated fine - which it didn't before.

But when I got to actually reviewing the app, I got:

Unable to Add for Review The items below are required to start the review process: New apps and app updates must be built with the public (GM) versions of Xcode 11 or later, iOS, macOS, watchOS, and tvOS SDKs. Apps built with beta versions aren’t allowed. This build is using a beta version of Xcode and can’t be submitted. Make sure you’re using the latest version of Xcode or the latest seed release found on the releases tab in News and Updates

Mr. Brightside wrote:

Submitted FB12425841

Thanks for that.

By pulling on that bug thread I was able to uncover some interesting info. It seems that this is a known bug in the linker (r. 110543043). My reading of that bug is that it’s fixed in the 15.0b3 seed [1]. Can anyone reproduce the problem with that?

Barsum wrote:

And it validated fine - which it didn't before.

That was with 15.0b3? Or b4? If so, I think that confirms that the fix is working for you.

But when I got to actually reviewing the app

Right, but that’s absolutely normal. App Store won’t accept apps built with beta tools until right at the end of the beta cycle (where the name typically changes to “release candidate”).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] The latest seed is 15.0b4 and if you’re working on Intel then it’s really important you update to that. However, if you’re on Apple silicon and just happen to have 15.0b3 installed, it’s fine to test with that.