Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

boyplunder

macrumors regular
Original poster
Sep 8, 2008
165
0
UK
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:

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];
 
Try using removeItemAtPath:error: instead. That's published.

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.
Yeah, seems they have a new tool to check for unpublished API calls. They have been cracking down on them lately.
 
Thanks Dejo, that works a treat.

It's been a long learning curve and I don't recall how I arrived at the removeFileAtPath:handler wording, but I have read the section throughout, slapped my wrist and will move on for the better.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.