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

RookieAppler

macrumors member
Original poster
Mar 15, 2012
58
0
I want to know what is the size limit of any app on iPad and iPhone. My app will have to store many customers data (1000s). Is there any limit on the app.
What is the maximum storage capacity of an iOS app. I read some documents and it says 2GB. Is that 2GB the app can be. Like when one installs the app it can be 2GB and thats it?I want to know how much data I can store for the app.I am going to have to retrieve data from SQL server. I want to save it on my iOS device. Can some one explain it in simple terms..I am new to Apple development. More questions to come.Thanks
EDIT: my app is an in-house enterprise app.
 
Last edited:

KoolStar

macrumors demi-god
Oct 16, 2006
825
9
Kentucky
Check out page 167 of the iTunes Connect Developers Guide.

App Size Tips (For iOS Apps Only)

Apps can be as large as 2GB, but be aware of download times.
Make efforts to minimize file size.
Remember there is a 50MB limit for Over the Air downloads. (See changes below)
 

RookieAppler

macrumors member
Original poster
Mar 15, 2012
58
0
@Koolstar. Thanks. I read that. So that 2GB, is the limit of how big my app can be to download at the time of installation. Correct?. I want to know how much space can app take up on the device. I will be downloading 1000s of rows of data. So i have to store it on Core Data on my device. So is there a limit there. My app wont be that large. Currently the estimate size on Organizer says 1MB. But once my app is installed, it will start getting data (1000s of rows of data) and store it on the device. I want to know what is the limit to store that data. How much can my app occupy core data space..Please help. Thanks
 

KoolStar

macrumors demi-god
Oct 16, 2006
825
9
Kentucky
I dont know that there is a size limit of an app after install. If you think about it the photos app can have more than two gigs, and dropbox for example can use up to 10gb if you let it store locally. So i would think there is not a size limit.
 

Gav2k

macrumors G3
Jul 24, 2009
9,216
1,608
Once installed the limit is the devices avalible storage space
 

RookieAppler

macrumors member
Original poster
Mar 15, 2012
58
0
@KoolStar. Ok . So what i am understanding is its limited by space on the device. No limit as to how much my app can occupy. My ipad device is of 64GB. Currently it says 56.3 GB available. If i install my app and pull data then it can go upto saving data to all that 56.3GB.Is it correct? I also have a flixster app on my iPhone. So i save movies to it. Right now i have 2 movies on it each about 1gb. So now my question is how can i download that much data. I currently pull data from SQL server in XML format. I know how to do JSON. How would one proceed to saving that much data..i am talking 17000 and more rows of data.
 

xStep

macrumors 68020
Jan 28, 2003
2,031
143
Less lost in L.A.
How would one proceed to saving that much data..i am talking 17000 and more rows of data.

That's an implementation detail of your choosing. You have indicated you intend to use Core Data. There is nothing stopping you from placing it into one massive flat file, which may be required between download, parsing, and final destination of Core Data.

I suggest you download that data in some kind of logical group so that upon failure and retry you can download the reminder instead of the whole thing.
 

KoolStar

macrumors demi-god
Oct 16, 2006
825
9
Kentucky
That's an implementation detail of your choosing. You have indicated you intend to use Core Data. There is nothing stopping you from placing it into one massive flat file, which may be required between download, parsing, and final destination of Core Data.

I suggest you download that data in some kind of logical group so that upon failure and retry you can download the reminder instead of the whole thing.

I concur.
 

RookieAppler

macrumors member
Original poster
Mar 15, 2012
58
0
Ok. So how do i put it in one massive flat file. I am using asp.net web services. This would be a web service returning data in JSON format. I have to put it in a file and transfer it over to my iOS app. How do i do that?I have never done that. Can someone give me an example..Its very important. Please help. Thanks
 

Albright

macrumors regular
Aug 23, 2011
130
299
Maybe this is an obvious question, but is just doing the database stuff server-side and passing just the results to your app not an option? Do you really need the entire database contents on the device? Does it really need to be usable without an internet connection?

If all the data really must be on the device, then how I'd probably go about it is to write a Mac app (probably just a CLI one) which would read a structured dump (say, in CSV or SQL dump format) of the database contents and import that into a Core Data database file, then just copy that actual Core Data data file to the device - I wouldn't try to do the importing of the database contents on the device. I'm still a Core Data n00b, though, so there's a chance that what I just suggested wouldn't work or even make sense.
 

xStep

macrumors 68020
Jan 28, 2003
2,031
143
Less lost in L.A.
Look at the docs for json and nsfilemanager. A few classes also have read and write and read capability, such as NSData.

Check out this tutorial: Working with JSON in iOS 5 Tutorial
http://www.raywenderlich.com/5492/working-with-json-in-ios-5
 

xArtx

macrumors 6502a
Mar 30, 2012
764
1
For a very quick and easy way to get different txt/csv files into the program for testing,
you can have your program look at the clipboard when it opens.
That came in handy when I wrote an app for sorting a list at work.
The file was being emailed to me anyway, so I opened the file in QuickOffice
and just copied the attachments contents to the clipboard before opening my program.

Not suggesting that as a long term solution though, and I don't know what the limit
of the clipboard is either.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.