A few days after submitting our latest app for review, we had an email back saying that it wouldn't be approved because it uses a private API. The message states:
Interestingly, this is used in an app we've had on the store since August, and we had an email on that too, as they have only just noticed it. So, does anyone have an alternative for this? It is used to remove the existing database so the latest read only database is used instead.
Here is the part it appears in:
The non-public API that is included in your application is removeFileAtPath:handler:.
Interestingly, this is used in an app we've had on the store since August, and we had an email on that too, as they have only just noticed it. So, does anyone have an alternative for this? It is used to remove the existing database so the latest read only database is used instead.
Here is the part it appears in:
Code:
- (void)checkAndCreateDatabase {
// Check if the SQL database has already been saved to the users phone, if not then copy it over
BOOL success;
// Create a FileManager object, we will use this to check the status
// of the database and to copy it over if required
NSFileManager *fileManager = [NSFileManager defaultManager];
//Delete the current database so it is updated each time.
//Solves db updates without leaving copies.
[fileManager removeFileAtPath:databasePath handler:nil];
// Check if the database has already been created in the users filesystem
success = [fileManager fileExistsAtPath:databasePath];
// If the database already exists then return without doing anything
if (success) return;
// If not then proceed to copy the database from the application to the users filesystem
// Get the path to the database in the application package
NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:databaseName];
// Copy the database from the package to the users filesystem
[fileManager copyItemAtPath:databasePathFromApp toPath:databasePath error:nil];