Disallow 512mb tablets from downloading app on ios? - ios

The UIRequiredDeviceCapabilities key is the 'usual' way to disallow certain incompatible devices from downloading your app on the App Store. I have a tablet-only app that requires a large amount of memory. So much memory that it cannot work on 512MB devices (and it is unrealistic for it to work on such devices). The table at this link here provides the compatibility for devices, but no such value exists. Essentially there are two devices: the iPad 2 and the iPad mini that we cannot support.
Has anyone been able to submit to the app store and not support <1GB devices? How would I go about doing that?
Since people may be inclined to think that I should 'just reduce the amount of memory used', this is irrelevant to the question at hand. I am familiar with memory management, texture compression, etc, and not looking for optimization advice.

Related

Extract Enterprise app's IPA in iOS 9

As you know, Apple disabled app extraction in iOS 9. But in this case I'm talking about an enterprise app not bought apps from App Store.
Is there anyway to backup or better to say extract IPA of installed apps in an iOS 9 device?
Thanks
Apple remove this feature for various reasons. See:
Why did Apple kill App extraction in iOS 9?
3 very good reasons which we believe pushed Apple to completely remove app extraction from iOS 9:
App Slicing
Because universal apps are destined to be stripped, extracting the .ipa package from an iOS 9 device doesn’t make much sense anymore: it may only be installable on a device with identical resolution.
Frequent Updates Improve Security
Blocking app extraction will effectively shorten the lifespan of stale versions of apps, improving overall security of the iOS ecosystem.
Preserve Disk Use
All these backed up apps quickly add up, and can result in literally tens of gigabytes of outdated apps eating up your precious hard drive space.
If you'd like to have a backup of your app, you can try to use iMazing app for backing up and restoring application data.

Is owning hardware necessary for iOS development and testing?

I'm learning iOS development and I need to know what hardware I need to test my apps.
Is the iPhone/iPad simulator in Xcode sufficient? Or do I need the hardware? I have an iPad 2, and an iPhone 3G. The iPad 2 is one generation old, while my iPhone 3G is three generations old.
My first project is a basic card game with networking, based on a tutorial.
Opinion: Considering the number of questions I see of the form "this works great on the simulator but not on my device" I'd say that having hardware for testing is necessary. I don't think you need every possible device but certainly ones that cover the features that your app uses.
It depends on features you need.
Example of things you can't test in the simulator:
Push notifications
Performance of an OpenGL game (usually you need a wide set of device to test OpenGL)
The simulator can be used for development, but the simulator is not relevant for efficiency. It is very recommended to testing on a real device too. Some of the services can not be developed on the simulator:
the push notifications
in-app purchase
iCloud services
And you know, that the iPhone 3G is not able to be updated for the lastest iOS (your iPad is able).
The first answer is YES, you need hardware as there are differences between the behaviour of the simulator and the devices. They won't always act the same as the simulator is a bit more forgiving than the device.
For example the simulator will find files (images/sounds/models etc.) even if the case is different between the request and the file name, the device will not find them. And there are more.
An other point is whether to buy/have devices to hold different iOS versions. I don't have them all as this is too expensive for me but I can say that this is a problem. No matter how much you will try to consider the differences between the devices you will always miss something and your app might not work or crash on this device.
Still you can consider this question by looking at the apps that you are going to work on. I would say that if your apps don't use the device hardware (camera for example) and don't have features that might cause problems on different devices you will be able to start with out the devices.
Bottom line is that if you want to deploy good working apps, in most cases it will be better if you could test your apps on a variety of devices.
It's not a requirement to have a equipment to test, but certainly very important. You can test FPS of your app, even not containing hand-made OpenGL. All features that you use on your app, like view effects, are tested for sure on a device. Since simulator uses your mac memory, you won't see any side effects from memory shortage. I believe your best chance is to have a iPhone 4 and your iPad 2.

arm6 devices showing much higher memory usage

I have built an app in MonoTouch - it works with both arm6 and arm7 devices, I've tried to be as careful as possible with my memory usage and on the arm7 devices it works beautifully - running it through the apple instruments program I can see an average 'live bytes' in the allocations tool of around 4MB.
However on the arm6 devices (iPhone 3G, iPod touch 2nd Gen) - it is instead showing memory usage of around 22MB - gives frequent low memory warnings and obviously eventually crashes.
Is there any build setting or any particular thing that anyone can think of that could be causing the app to have such a high memory footprint on the 3G device vs the 3GS (arm7) devices?
It's especially frustrating as these devices have plenty of memory anyways.
Thanks for your time,
Liam
That's a huge difference!
My best guess is that Apple's Instruments is misreporting the memory being used (in either or both case) and that, in fact, the real memory requirements of both are much closer.
In this case the older, armv6, devices have less RAM and will give low memory warnings before the newer, armv7, devices (with more RAM). IOW the behaviour you're seeing could be normal, i.e. you could be near the limits for older devices.
Now it could also be a bug or some other configuration that differs between your builds (e.g. a Debug versus a Release build). It would be helpful if you could share (or create a test case) this with us (Xamarin) so we can try to reproduce the issue.
NOTE:
I assume you're talking about a single, armv6, application used on different devices. But even if you used different builds (one for arm6 and one for armv7 or a fat application) this would only affect native code generation. As such it will affect the binary size but it should not have a (huge) effect on the runtime memory requirement of applications.

Is there any size limitation of ipad application?

I know maximum size of application in app store is 2GB. and we can only download 20MB apps through 3G and unlimited through wifi.
What about a application that wouldn't be put into app store, is there any limit?
Also, is there any guru know any performance issue when the application is big? what is the ideal limit if there is any, i am not talking the physical limit.
Thanks!
Technically, if the app isn't going to be reviewed by Apple, you can do anything you want and it can be any size. Also, the size of the application does not relate to its performance, the amount of resources it uses does.

What is the maximum application filesize for Blackberry App World

We are planing to program an application for Blackberry and wondering if there is a maximum App size.
Searching the App World there were just very small Apps.
Our App will have hundreds of Images and Audiofiles. It will have about 40 to 50 MB.
Is this possible for Blackberry?
thx for your answers!
It is possible -- but not practical. First consider that many people install an app OTA (over the air) and even on a fast 3G connection it's going to take a LONG time to download 40-50MB. Another factor is limited memory on devices. Applications have to be stored and run from the on-device flash memory, which is quite limited (32MB on older devices, 64MB or 128MB on newer devices). Apps, emails, contacts, etc. all take up space on the main memory so this space is at a premium. Basically even if people DO have enough space on their device to accomodate an app that size, chances are unless it's a really killer app they're not going to install it due to the size.
One alternative to bundling your resources with your app is to load them dynamically at runtime as they are needed. Host them on a webserver somewhere, and load them over the network from the app as needed. If the user has an SD card installed, you could cache data there since they typically have much more space than the onboard memory.
The previous answer doesn't quote any sources. According to this official BB document, the maximum size is on the order of 14MB. If you want more, you must download it to the SD card after it's installed.
http://supportforums.blackberry.com/t5/Testing-and-Deployment/The-maximum-size-of-a-BlackBerry-7-or-earlier-smartphone/ta-p/1300209

Resources