Does any one know what is the max file size we can upload to a server from an iPhone app?
I could easily upload a file with size upto 10 MB but app start giving unpredictable results in uploading a video beyond this size.
Any help is much appreciated.
In general there would not be any limits on the file size from the iPhones side of view. However you might have limitations imposed on you from the server side, e.g max disk quota, etc.
You will have to implement the upload in chunks or streamed as the iPhone is limited in memory.
If you upload end read the file from disk in chucks, the limiting factor will be the server and you internet connection.
I don't think that there is a hard limit to the upload.
AFAIK, there's no limit. Just make sure that the server that you're sending the data to is configured to accept it.
Related
Okay, so i've read countless places saying the app size limit is either 20 mb and some say it's 50mb... which is it?
More importantly, my current app has an "estimate app store size" of 106.1mb in the Archive section of the Organizer. HOWEVER, when I distribute it to an ad-hoc file, it comes out as a .ipa which has the size of 48.3mb. Which one should I use, and I'm confused as to why they are so different.
The official (and reliably up to date) resource for this is the Uploading Your Binary section of the iTunes Connect Guide (expand the 'To begin the Ready to Upload Binary flow' section). At the time of this edit it states:
iOS App binary files can be as large as 2 GB, but the executable file (app_name.app/app_name) cannot exceed 60 MB. However, consider download times when determining your app’s size. Minimize the file’s size as much as possible, keeping in mind that there is a 100 MB limit for over-the-air downloads.
Over-the-air download limit means apps below this threshold can be downloaded with a mobile data connection (anything above the limit requires a WiFi connection, or to be downloaded through iTunes on the computer). This is important as many users may not have ready access to WiFi and you don't want to prevent them from being able to get your app!
Also the .ipa is a compressed, encrypted zip file, whereas the archive is just a fully inflated package of the app, which is why the file sizes are different. The .ipa file size is the one that will be used in the App Store, so use that as your reference for total size. That said, the smaller you can make your app, obviously the happier the user will be!
Apple recently bumped up the size from 20 to 50 shortly after WWDC '12. I am not sure if it was officially announced, but was observed in the error message of larger apps.
Use the IPA size. The files sent from the app store are compressed. Perhaps the 106.1 is the uncompressed size, or it is a bug.
Today, Apple Increases Over-the-Air App Store Download Limit to 100MB.
I created a manifest file with 1000 items. Safari, Mozilla browsers are saving the files offline successfully and even Android saves the files correctly offline.
On iPad and iPhone when I am trying to save more than 300 items in some point the applicationCache returns "error". When I am trying to save less (e.x.: 200) it saves the files correctly and the applicationCache returns "cached".
Any ideas?
Thank you.
According to specs,
http://dev.w3.org/html5/webstorage/#disk-space
there is no limit, but
'A mostly arbitrary limit of five megabytes per origin is recommended. Implementation feedback is welcome and will be used to update this suggestion in the future.'
in iOS 3, max size is 5M, in iOS 4.2 beta3, the browser will ask for the permission (to increase the max size of applicationCache) when downloaded files size is bigger than 5M.
I have an app which is quite huge. It has tons of images and sounds. In total it's 30 MB in size.
1) Is there an official limit for the app size?
2) Are there other "practical" limits I should consider?
Reading around, there are reports that the absolute maximum size for an application is 2GB (http://discussions.apple.com/thread.jspa?threadID=1605342).
Other than that, if your app is over 10MB, users will only be able to download it over a wifi connection, having the impact that users won't be able to download your application easily when they are out and about.
This might sound obvious, but there are two size limits to keep in mind here - neither are absolutely defined.
One is the limit for the application bundle. I don't know if there is a real limit (other than the device's flash storage limit), but this should rarely be an issue. Keep in mind the 10Mb threshold that the other Phil mentions though. There may be something in the 2GB limit too, I don't know.
The more important limit is on the size of the loaded binary image and it's runtime memory usage. The iPhone is obviously a constrained device in this area. The original iPhones and iPod touches had 128Mb of total RAM, with no paging. Current models have 256Mb, but it's a bit early to limit yourself to that subset of the installed base if you can help it.
Assuming 128Mb, of that a fair chunk is used by the system itself and its background tasks (and people want user background tasks too!?!).
In a conversation with an Apple Engineer he said that apps should be written to use no more than about 25-30Mb! Up to 60Mb may be available but cannot be counted on (but you could use this extra for caching stuff that you can purge as necessary).
1) I believe that you shouldn't ask for maximum size, as you have to aim for minimum possible size for your apps. As iPhone has limited memory (both storage & RAM), you should not create a huge app. (I doubt an app > 200MB can pass through Apple's app check.)
Yeah, Phil is right, when you app is over 10MB, it can only be downloaded via wifi or iTunes. Quite a lot users may want to download anywhere they like using 3G networks, so >10MB is not recommended.
Also, take care those users with iPhone 2G. If you produce a >10MB app, it takes them a day to download your app (if they are lucky enough to have no disconnection at the middle of download...)
2) practical limit ... K.I.S.S = Keep It Simple and Small.
That's it. Hope it helps.
Our lovely app that downloads mp3s from our server into a local file on the phone then plays from that file was rejected for using too much bandwidth.
I understand the rejection (we are downloading rather than streaming) and don't quibble with their decision... our first priority was quality of user experience.
I am just wondering... what do I do now?
There are no hard and fast rules... Apple just says, "Must not in Apple's reasonable judgment excessively use or unduly burden network capacity or bandwidth".
Anyone have data on what Apple considers reasonable data transfer rates?
Should I fill up the buffer file in short spurts? Should stream the file at a constant rate (and how would I limit the transfer rate from within the app?)
Any and all suggestions are welcome.
Thanks
I have talked with Apple Developer support, and just FYI. You are only allowed to stream 1 MB per minute over the Cellular network. Support suggest that you test your app in the following way:
"The basic measurement methodology is to turn off all background updating (particularly Mail's automatic mail downloads and Calendar updates), reset the transfer statistics in "Settings:General:Usage:", and then launch your application. Let it run for a fixed amount of time (five minutes is reasonable), and then exit your application. Once you've finished the test, the numbers listed under "Cellular Network Data" in "Settings:General:Usage:" are what you should focus on reducing.
Using what I just described, I'd suggest 4.8 MB every 5 minutes as the guideline you use to ensure your application stays within our bandwidth requirements."
Hope that helps at least a little.
Have you considered HTTP Live Streaming? It's built into OS 3.0.
Basically, you split your media into small (say, 10 second) snippets and put it on a standard web-server. Then you create little text 'meta-descriptor' files in EXTM3U format that point out where the bits are. The interesting thing is that you can create multiple versions of each snippet at different bit-rates. So if your bandwidth is good, the iPhone player dynamically chooses the higher bit-rates but when it's low it automatically switches to the lower bit-rate version of the snippet. It does this on-the-fly to adapt to changing conditions.
So if you split your MP3 into multiple 10-second bits at say, 3 different bit-rates then when the user is connected through WiFi they get the high-quality stuff but if they're on 3G or EDGE they get progressively lower-quality (and smaller sized) content.
If this violates your downloadable media concept, then perhaps you can use the same trick and keep multiple size files for each connection type. Then if you're on WiFi (or get a fast turnaround on a heartbeat ping to the server) download the big file vs. medium or small size ones.
Here's a decent step-by-step on segmenting content. They focus on video but it should work with audio content as well.
I would suggest throttling the bandwidth on the network/http request when connected to cellular, and having no throttle on wifi.
A combo of using Reachability to detect the network status, and implementing your http request using CFNetwork with a sleep until the next second whenever you have already downloaded as much as allowed per second should get you there.
You should check out this project, either to use, or just to see an example of how to code this well:
http://allseeing-i.com/ASIHTTPRequest
The ASIHTTPRequest class implements this, using either the old or 2.0 version of Reachability, and also provides a class level throttle, so even if you have multiple concurrent downloads and uploads, so long as all of them go through ASIHTTPRequest, they will be properly taken together and throttled properly.
A bit more on how to use this here:
http://allseeing-i.com/ASIHTTPRequest/How-to-use#bandwidth_throttling
Lots of good stuff in this (and no, I am not the author of any of it).
On a more serious note, what is it trying to do? There are many markets for iPhone outside of the US which don't have good download rates for phones, nor are the download cap sizes good, so having an app do lots of downloading isn't a good thing.
Could you possibly drop the data rate on your mp3 or some such? Make it optional to do the downloading with a warning that it will use your download?
YOu could not download the mp3 unless you are on wireless, and inform them of that. If you the mp3 are too important, then just tell them it only works on wireless, or include a few mp3 on the device. But 30min of mp3 is ridiculous, that is about what, 30meg.... think about it, 30 meg is just too much.
I plan to submit my new app to App Store. App consist of a lot of image resources (animation) - more than 40M.
Is there any formal limits at App Store of the app bundle size? I never see such condition and think it will be ok. Is it right?
My major question is..
Is there any negative aspects for usability in case app is a huge?
-increase user traffic
-problem with installation
-etc...
Should I try to reduce my app size as much as I can? (actually I've done it already but size still big)
I have no statistic on this point. What is the average app size at app store and how many exclusion with big size?
Thanks, Mike/
The only limit that I'm aware of is that if your app is larger than 10 megabytes, you must download it over wifi when installing via the App Store on the phone.
There are some huge apps that I've installed, including:
Apple's Hold em: 172.8 MB
Spore: 68.5 MB
Oregon Trail: 52.6 MB
and 10 more that are over 40MB
I'd venture to guess that the upcoming Tom Tom app with the maps will be very large.
I don't think most people look at app size when downloading via iTunes or even on the phone when on Wifi. Smaller applications will install faster, but at that point they've already bought the application.
If you somehow have the ability to get your app under 10MB, then I'd say shoot for it. I don't have any actual numbers, but I would guess it certainly wouldn't hurt. However, if you can't get down to 10MB, I would spend only a reasonable amount of time getting your application size down. The decrease in download time and disk space I doubt will raise sales that much.
I don't know of any limits, but remember that anything larger than 10 MB requires a wifi connection to download. Under 10 MB can be downloaded over 3G.
At least these are the limits today, they could change soon.
iTunes Connect developer guide says there is a hard limit of 2 GB.
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 20MB limit for Over the Air downloads
https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf