Reject from AppStore for iOS8

Hello Folks,

We have developed Rhodes application using Rhodes 4.0.0 and Xcode 5.0.0. And have submitted the app in AppStore for approval but got a reject from Apple, they stated the reason as "Apps must follow the iOS Data Storage guidelines or they will be rejected".

I have attached the mail I received from Apple.

Kindly look at the feedback from Apple and suggest a solution for the same.

Thanks,

Deepali Singh

Jon Tara
I'm surprised that's the only

I'm surprised that's the only reason the rejected it.

You will need to use Rhodes 5.0.30 and Xcode 6.1.1 or Xcode 6.2.

Apps will be rejected unless built for 32/64 bit architecture, and for at least iOS 8.1. Rhodes 5.0.30 is the first version of Rhodes that builds 64-bit for iOS.

Updating to Rhodes 5.0.30 should not be difficult. There are not a lot of changes from 4.0. It is much less than from 3.x. 4.x -> 5.x was mainly a "marketing" change. It doesn't indicate major change of functionality or API compatibility.

I believe the specific issue you encountered was fixed long ago. If you search the forum you will find some information. There was an issue about database locations. If not fixed, then you will find posts showing how to correct it, but realize you are using an obsolete Rhodes version, and those posts may deal with what is currently a non-problem.

Vote: 
Vote up!
Vote down!

Points: 1

You voted ‘up’


Deepali Singh
Hi Jon,Thanks for the

Hi Jon,

Thanks for the immediate response. I have built IPA using arm64 armv7 but I see the same directory structure, Documents folder still has apps and db folder and my db folder has master data which is around 70MB. The reason Apple gave for rejection is, they backup Document folder and the size of this folder should not cross 24MB of something.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
Search the forum. Others have

Search the forum. Others have faced this problem and there is a solution.

You will not be able to backup your database to iCloud because of it's size. Also, Apple explicitly disallows backing-up of data that can be obtained elsewhere. ("master data" implies this.)

I don't know what you do with your "master data". Can it be split from user data?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
Rho has different database

Rho has different database "partitions" you can use. These are pre-defined:

- app

- user (default if synced)

- local (default if non-synced)

I'm afraid the documentation is both slight and vague.

But I think this can be used to solve your problem.

It's been discussed in this forum with regard to App Store issues, but it was some time ago, and now I cannot locate those discussions.

Can somebody refresh my memory?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Deepali Singh
Hi Jon,I am using master and

Hi Jon,

I am using master and local partitions in db. After installing the App, it unzips the master file and the size of db which is created under Documents folder grows to 77MB. As I understand the cause of App rejection from Apple is, they have marked Documents folder as the folder whose backup will be taken and as per their new guidelines size of Documents folder should not be more 26MB.

What possibly we can do is alter the app root path from Documents to Library folder but this might fail for upgrade application because existing cases will still point to path which no longer exist.

Other possibility is can we mark Document folder as DoNotBackup?

Please see the current FWDSmart app screenshot size show in iCloud backup

old.jpg

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
I knew there had been an

I knew there had been an extensive discussion of this. I was looking in the wrong place! It was a long time ago, and in a different place...

Google Groups

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
I reviewed that old thread.It

I reviewed that old thread.

It looks like all that was done there was to move all data files EXCEPT the database out of the documents directory.

I think you will have to use the Do Not Backup flag.

Note that you can create additional database partitions. But it's a murky area... Are the synced? I dunno. (I don't use RhoConnect myself anyway.)

So, depending on how your data is organized, it might be possible to put your "master data" in a separate DB partition. (Is it different tables than user-generated data?) Mark that partition "do not backup".

I think the fact that Do Not Backup was introduced in iOS 5.x is now a non-issue, since, (officially, at least) minimum Rhodes target is now 6.0.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Joerg Koch
Hi,we also got rejected for

Hi,

we also got rejected for the same reason:

2.23 - Apps must follow the iOS Data Storage Guidelines or they will be rejected

2.23 Details
On launch and content download, your app stores 17.09 MB, which does not comply with the iOS Data Storage Guidelines.


On startup I am seeding my database with lots of products from a 3MB JSON file. Before the initial start Settings -> General -> Usage -> Manage Storage -> App -> Documents & Data shows 4.0 KB of usage, after the initial start it is 19 MB.

It seems like the database is stored in the wrong place. How can the database be placed in the correct location? For product updates I also download a file to the user folder. This should, as of the iOS Data Storage Guidelines, be stored in the tmp folder and then be deleted again. How can I access the tmp folder with Rhodes?

I use Rhodes 5.0.30.

Any hints on how to fix this problem?

Thanks in advance for any help!

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
Do you need iCloud at all for

Do you need iCloud at all for your application? Many Rhodes apps will not have  a reason to use it, because they use RhoConnect, or use other means to back-up their data.

When you create an App ID, pretty sure the default is that iCloud is disabled.

Did you try this?

icloud.png

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Joerg Koch
Yes, iCloud is disabled for

Yes, iCloud is disabled for my App ID.

What I did now is to add:

Rho::System.setDoNotBackupAttribute(Rho::Application.databaseFilePath('local'), true)


to app/application.rb, to set the "do not back up" attribute for the local database, which is taking up the space. Also for another file I put in the user directory.


To check if this works I used the iPhone simulator und executed:


xattr /Users/<user>/Library/Developer/CoreSimulator/Devices/3C6586E2-3824-4666-88B1-5BCF69609FE3/data/Containers/Data/Application/ADF95FB8-8978-4F9A-870E-BFBD3F3D2345/Documents/db/syncdblocal.sqlite


which returns:


com.apple.metadata:com_apple_backup_excludeItem

So, I hope with that fix the app won't be rejected again! Now, waiting time...

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments