I am publishing my app on apple store but they say xojo uses deprecated api set

i am publishing my app on apple store but they say xojo uses deprecated api set.

we also tried to compile it with version 2022r1.1 but equally apple refuses the publication telling us that the following api containing in the executable file are deprecated. and to contact whoever produces the framework to have them updated.

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

Symbols: _SQLProceduresW, _SQLFreeHandle, _SQLSetEnvAttr, _SQLAllocStmt, _SQLGetConnectOption, _SQLSetConnectOption, _SQLGetConnectAttr, _SQLGetTypeInfoW, _SQLColumnsW, _SQLFreeConnect, _SQLPrepare, _SQLColumnPrivilegesW, _SQLTransact, _SQLFreeStmt, _SQLForeignKeysW, _SQLSetConnectAttr, _SQLMoreResults, _SQLSpecialColumnsW, _SQLRowCount, _SQLDescribeColW, _SQLGetData, _SQLNumResultCols, _SQLGetDiagRecW, _SQLFetch, _SQLExecute, _SQLProcedureColumnsW, _SQLBindParameter, _SQLGetInfoW, _SQLDisconnect, _SQLGetInfo, _SQLTablesW, _SQLPrimaryKeysW, _SQLFetchScroll, _SQLGetDiagRec, _SQLAllocEnv, _SQLAllocConnect, _SQLDriverConnect, _SQLStatisticsW, _SQLDataSources, _SQLBindCol, _SQLExecDirectW, _SQLTablePrivilegesW, _SQLPrepareW, _SQLSetStmtAttr

The use of non-public or deprecated APIs is not permitted on the App Store, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms.

Next Steps

It would be appropriate to revise your binary and remove any references to the non-public or deprecated APIs identified above.

If you are using third-party libraries, update to the most recent version of those libraries. If you do not have access to the libraries’ source, the following command line tools can help you identify the location of problematic code:

  • The “strings” tool can output a list of the methods the library calls.

  • The “otool -ov” tool will output the Objective-C class structures and their defined methods.

Resources

  • We are constantly reevaluating and identifying non-public APIs that you may have been using for an extended period of time. Always use public APIs and frameworks and ensure they are up to date.

Are you using the ODBC Plugin provided with Xojo or another ODBC?
Or what DB Plugin are you using?

So… using the strings command (as they suggested) on each of the Xojo-provided database plugins reveals that none of them actually use any of the non-public methods that are listed there (the ones with the underscores). Are you are using any 3rd Party database plugins in your app?

1 Like

Most of the time people have received this message because Apple broke their own tool and report false positives.

  • I would first make sure that your app is available on your own site.
  • Next request an appeal on the grounds that you believe that this is a false positive.
  • If Apple stand their ground, you need.to contact all the vendors of database plug-ins you’re using and request they update their plug-ins, if you decide to keep supporting the Mac App Store.
1 Like

ok work! Problem is ODBC Plugin

1 Like