From the MAS rejection notice below it looks like there is a call within SQLDatabaseMBS to ‘SQLGetPrivateProfileString’ that is the same as built into MacOS X. As I have no calls in my code to ‘SQLGetPrivateProfileString’ nor do I include ‘libiodbcinst.2.dylib’ I am not sure how to resolve this. Any clues?
[quote]The use of non-public APIs can lead to a poor user experience should these APIs change in the future, and is therefore not permitted. The app includes SQLGetPrivateProfileString from the framework ‘/usr/lib/libiodbcinst.2.dylib’.
If you have defined a method in your source code with the same name as this API, we suggest altering your method name so that it no longer collides with Apple’s private API to avoid your application being flagged in future submissions.
Alternatively, this API may reside in a library included with your application. If you do not have access to the library’s source, you may be able to search the compiled binary using “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 techniques can help you narrow down where the problematic code resides.
If you are unable to reproduce this issue, ensure you are testing the exact version of the app that you submitted for review, and that you’re doing so in a minimally privileged environment. See Technical Q&A QA1778: How to reproduce bugs reported against Mac App Store submissions.
For information on how to symbolicate and read a crash log, please see Technical Note TN2123 - CrashReporter.[/quote]