x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[iOS] Rejected "non-public APIs: PrivateFrameworks/MetalTools.framework"

My iOS project rejected by non-public APIs: PrivateFrameworks/MetalTools.framework

How can I fix it?

---------------------------------------------- iOS reject message ---------------------------

Guideline 2.5.1 - Performance - Software Requirements

Your app uses or references the following non-public APIs:

PrivateFrameworks/MetalTools.framework

The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.

Next Steps

If you are using third-party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries' source, you may be able to search the compiled binary using the "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides. You could also use the "nm" tool to verify if any third-party libraries are calling these APIs.

Product Version: UE 4.18
Tags:
more ▼

asked Feb 14 '18 at 02:40 AM in Blueprint Scripting

avatar image

titoro
31 2 5 10

avatar image JonathanADaley Feb 17 '18 at 05:15 PM

Your app uses or references the following non-public APIs:

PrivateFrameworks/MetalTools.framework (MTLDebugDevice)

Any help on this issue would be greatly appreciated.

I have shipped a game before in UE 4.18; but not with the latest point update; so it's possible a bug was introduced within the latest 4.18.3 update.

avatar image JonathanADaley Feb 17 '18 at 05:21 PM

I have posted this issue again in Bug Reports, instead of in Blueprint Scripting, since I believe it to be an Bug in the Engine: https://answers.unrealengine.com/questions/759742/ios-app-rejected-due-to-use-of-non-public-api-meta.html

avatar image JonathanADaley Feb 17 '18 at 05:30 PM

I've found a pending pull request that appears to have fixed this issue by wrapping the offending code in a #if !UE_BUILD_SHIPPING flag: https://github.com/EpicGames/UnrealEngine/pull/4491

avatar image titoro Feb 19 '18 at 03:29 AM

My project rejected same reason. Did you find any solution about it?

avatar image JonathanADaley Feb 19 '18 at 03:36 AM

There appears to be a fix by wrapping the offending code with an #if !UE_BUILD_SHIPPING flag; this involves building a custom version of the Unreal Engine from source. I haven’t confirmed the fix works though. There’s more info at the pull request I mentioned in my earlier comment.

avatar image titoro Feb 19 '18 at 04:03 AM

Thank you very much!

avatar image JonathanADaley Feb 19 '18 at 05:03 AM

You're welcome!

avatar image titoro Feb 19 '18 at 04:55 AM

Is there a chance for update to 4.18 ? Or I must use 4.19 preview.

avatar image JonathanADaley Feb 19 '18 at 05:02 AM

I don't know. The pull request is still waiting for review, so it hasn't been integrated yet. Hopefully we'll hear from Epic soon.

avatar image Anton Rassadin Feb 19 '18 at 07:46 AM

Yes, the patch does help to pass the review.

avatar image china_godwang Jan 15 '19 at 08:32 AM

I had an app rejected in an App Store Review for iOS due to the following:

Guideline 2.5.1 - Performance - Software Requirements

Your app uses or references the following non-public APIs:

_feedbackSupportLevel

The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.

Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.

how can i fix it?

avatar image army068 Mar 12 '19 at 06:16 AM

I use version 4.20 and I also have this problem.

avatar image JonathanADaley Mar 12 '19 at 04:48 PM

I haven’t had an issue with 4.21. Can you upgrade your project to the latest version of 4.21 (not always a simple task, I know)? That may fix the issue.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

This issue is fixed by a pull request submitted by Anton Rassadin. It was accepted and merged into 4.19 in commit ac514e7.

more ▼

answered Feb 20 '18 at 02:53 PM

avatar image

JonathanADaley
644 37 49 78

avatar image titoro Feb 20 '18 at 03:08 PM

Yeah! Thank you! Its a good news. But I dont know how use git hub. So I must wait a next 4.19.1. By the way 4.18.4 has not hope?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question