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.