MacOS crash for non-public api

I rejected my application due to a non-public api call.

framework: '/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation'
: _NSErrorWithFilePath
: _NSErrorWithFilePathAndErrno

I did grep in the project folder to find these methods, as I found in another StackOverflow question, but grep didn't provide anything.

  grep -R '_NSErrorWithFilePath' * grep -R '_NSErrorWithFilePathAndErrno' * 

How to find where these methods are located?

Edit: I tried to export the .app file, and while grepping on it I find something

 Binary file myAppName.app/Contents/Frameworks/libswiftFoundation.dylib matches 

What is the best way to solve this problem?

Solved
Got a response from the app review board:

Thank you for contacting the Application Review Board.

The Application Review Board has completed the review of your appeal on your app *** and decided that this version of your application is not in violation of Guide 2.5.1.

In the near future we will return the application to the review process.

Thank you for your commitment to developing applications for Mac.

Shin Y. Application Review Board

So, apparently, this is a problem on their side, now my application is stuck "In Review" from this morning, I keep you posted.

+6
source share
2 answers

My application was rejected for the same reason ~ 1 hour ago.

One of my applications was rejected a couple of weeks ago for the same reason as the other. Then it was a false alarm, and I am 100% sure that now.

I ask Apple to check my application again.

Keep in mind that you do not need to use a private api in order to be refused. Enough if the signature is about the same.

My application was rejected because it said that I used the constructor "CFHashByte", which has the following signature:

CFHashBytes (uint8_t * bytes, CFIndex length)

My application had a function called "getBytes (UInt8 bytes, index: Int, length: Int)". The signature was similar, especially the names and types. Therefore, perhaps that is why automatic validation detected this closed API request.

Therefore, perhaps check your application for a similar signature. Otherwise, just write an Apple message in iTunes Connect, where you received a bug report.

TL DR: check your application for features with similar signatures.

Regards, Sascha

0
source

I received the following message from Apple Technical Support:

Thank you for contacting Developer Technical Support. We worked with the App Review team to identify and fix an unexpected private API problem.

If your application is currently in the Rejected state, reply to the Application Overview command in the permission center and they will continue the verification process.

Alternatively, you can download a new version of your application.

While you were charged with a technical support incident for this request, we assigned a replacement incident to your Apple Developer Program account.

Let them hope that this passes. 🀞

0
source

Source: https://habr.com/ru/post/1014472/


All Articles