-
-
Notifications
You must be signed in to change notification settings - Fork 806
[iOS] Non-public API usage #230
Comments
App Store submissions are regularly tested using the test applications under the Can you compare your application with |
I've compared my app with pods-with-tooltips. From previous version on TestFlight to this version, I've only added "mobile-ffmpeg-audio" pod and implemented the code for m4a to speex conversion and vice versa. Is there any way to manually import only the frameworks required for m4a-speex conversion and will it help to resolve the issue? Is there anything else i can try to avoid the issue? Thank you for your time |
Some packages of
Besides, I need to repeat that When I asked about comparing your application with So, to understand why your application is receiving this error, comparing the settings of these two applications is necessary. If you don't have time or can't see a difference then you can manually import If it does not work for you, another option is to build your own |
Greetings, Thank you very much for your time and the community effort for the library. It's been a pleasure. |
I'm glad to hear that it worked for you. It is better to leave this issue open until we understand why some applications fail and others do not. |
locale_charset Same name apple private API, you can replace locale_charset to xx_charset in libiconv and libcharset then build |
@ztimc thanks, yes it is one of the alternative solutions. I'm eager to understand the reason. That's why I'm keeping this issue open. |
Also getting this issue using full-gpl on ios, apple won't allow the project to be pushed up. Going off of the universal binaries solution has shown to be very problematic because I also use MobileVLCKit. Any guidance on how to properly replace locale_charset to xx_charset in the libiconv and libcharset files properly? Those files included look like some sort of compiled source code and replacing any instances of locale_charset to xx_charset doesn't seem to do the trick. |
@kliffy As I've explained in my previous messages, this error is not received by all applications. For example, test applications in this project do not receive this. I think an option or setting is triggering this error. I expect you to compare your project with test-applications are extract that option/setting. I can do that comparison too if you provide me a sample application which includes this issue. If you don't have time for that you can try to build your own |
@ztimc |
Update: Went along with replacing MobileVLCKit but kept mobile-ffmpeg as a Pod, sent it up and it got approved by Apple. The only setting I changed then was bitcode enabled to true (MobileVLCKit required it to be disabled). What's weird is during my initial testing with the settings I tried enabling bitcode and it still got rejected by Apple. Anyway, it works now for me just as a Pod and no MobileVLCKit |
@kliffy Thanks for the update 👍 |
Since |
Description
[iOS] Non-public API usage - The app references non-public symbols in XXX: _locale_charset. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. email from App Store Connect
Expected behavior
The static libraries libiconv.framework/libiconv and libcharset.framework/libcharset contains '_local_charset' API which is in conflict with the non public symbols from Apple API and in my opinion should be renamed.
Current behavior
The static libraries libiconv.framework/libiconv and libcharset.framework/libcharset contains '_local_charset' API which is in conflict with the non public symbols from Apple API. As result, app cannot be released nor distributed to Apple App Connect.
Screenshots
Logs
command executed in terminal "grep -Rnis '_locale_charset' *"
Binary file Pods/mobile-ffmpeg-audio/libiconv.framework/libiconv matches
Binary file Pods/mobile-ffmpeg-audio/libcharset.framework/libcharset matches
Environment
The text was updated successfully, but these errors were encountered: