Cannot figure out which private API I am using for macOS ap

Apple rejected my app with below reference. I searched my entire app and are not using any of the below NSErrorWithFilePath. I am not using any 3rd Party Libs. Is there a way to find out what they mean?


I am using Core Data and I found this reference to Foundation: lazy var applicationDocumentsDirectory: Foundation.URL


Your app uses or references the following non-public API(s):


'/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation'

: _NSErrorWithFilePath

: _NSErrorWithFilePathAndErrno



Any ideas?

Thank you

Another one with the same issue. Got rejected for using private APIs, but I'm just using the standard Swift libraries.


Just raised this to the app review team, maybe they can let the xcode team know about this.

Thanks. Hopefully they will start to see a trend and look into it. I would hate to have to go back to rewriting everything in Objective-C just so it doesn't get rejected again.

Sounds like when a new Xcode comes out and the store flags it as not legal for updates...seems that end of the process habitually lags - left/right hand kind of thing.

I was rejected for the same reason, but I build, archive and submit on 10.11.6.

Same with me. Obviously there are too many rejects with this exact reason. Let's hope that Apple will finaly realise the mistake they made. Which reminds me that they have several brutal problems in macOS and they are doing nothing to resolve any of them.


1. Problem No 1

NSToolbarItem (<NSToolbarItem: 0x6080001250a0>) had to adjust the size of <NSPopUpButton: 0x610000163900> from {40, 25} to the expected size of {42, 27}. Make sure that this toolbar item view has a valid frame/min/max size. This is an app bug, please do not file a bug against AppKit or NSToolbar! Break on _NSToolbarAdjustedBorderedControlSizeBreakpoint

This is the message you will away get when using NSToolbar with something changed in the initial configuration of the object, provided by Xcode - no matter what.


2. Problem No 2. The selected item sign in the NSMenu object in NSPopUpButton is not visualised like it should if the font used is system thin / light. If the weight is regular the sign is OK.


3. The autolayer issue:

[Layout] Detected missing constraints for <NSSplitView: 0x61000073cde0>.  It cannot be placed because there are not enough constraints to fully define the size and origin. Add the missing constraints, or set translatesAutoresizingMaskIntoConstraints=YES and constraints will be generated for you. If this view is laid out manually on macOS 10.12 and later, you may choose to not call [super layout] from your override. Set a breakpoint on DETECTED_MISSING_CONSTRAINTS to debug. This error will only be logged once.

I don't even want to begin with this ...


I have fired bugs for 2 and 3 - nothing happened. There are several versions of macOS released since this problems appear - nothing is changed - the issues still exist.


Meanwhile it's really difficult to work with Xcode. Almost impossible. iTunesConnect is behaving like AI ... and in this aspect performs even better than M$ Window. There are basic features missing for Mac App Store, but present for the iOS version ...


I don't know what is happening but let's hope that things will get better soon.


I. Nikolov

I'll second the issue with a rejection I just received today. The update contained only a few layout changes and 1 small feature that added very little in terms of new code. My last update was 2 weeks ago and was reviewed and approved with no issues. I've sent a message to App Review as well.


I submitted the app with Xcode 8.2.1 on macOS 10.11.6. While the project is mostly Objective-C I do include the swift standard library because of a 3rd party library (Charts).

I too only had done minor changes to my app. Included the same Swift libraries and everything. One week it was approved and the next week it was rejected. I'm hoping they start to notice a trend here. Are all Swift apps now getting rejected? I would like to know the percentage of apps that are having this same problem. The only option would be to not include AppKit anymore which would be imposible for me to do since I would need to convert back to pure Objective-C.

Another one here. It's a hybrid Swift/Objective-C app, with all libraries compiled from source. There is no private API in there. It's being caught by the NSErrorWithFilePath... calls in libswiftFoundation.dylib.


When I resubmitted, I included a Reviewer Note mentioning the false positives. It made no difference. But at least I didn't get the condescending reply the first reviewer sent me.


Per a senior Apple engineer's request, please file bug reports at bugreport.apple.com. You can cite my rdar://30221230 and dupe it.

That is interesting. I actually did send up a Tech Level Request to an Apple Engineer so hopefully will hear back soon with a solution for it or if it is just a bug which I suspect.

I received a message back from the App Review team that just directs me to Developer Technical Support. Looks like we'll have to wait and hear what they say...

That is pretty much the response I got too. I almost think it was a computer generated response. But I did send in a tech ticket.

I'm not using any 3rd party frameworks at all.

I get the same issue today with xcode 8.3 beta, but I use only "import Cocoa":


Your app uses or references the following non-public API(s):
framework: '/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation'
+++ : _NSErrorWithFilePath
+++ : _NSErrorWithFilePathAndErrno
The use of non-public APIs is not permitted on the App Store as it can lead to a poor user experience should these APIs change.

I resubmitted my App again today so will see what happens.

My app is now approved!


An hour ago I got a "thank you for your message" response from the review team, the status changed to "in review" and it is now approved.

Hope they are going to automatically resolve all the reviews blocked by these misunderstanding

Cannot figure out which private API I am using for macOS ap
 
 
Q