I'm working on an app that needs to access wifi signal strength. I don't need to publish it to the app store so I don't care if the method is approvable or not. I've looked high and low but can't seem to find a way to get this info. The best I've found is this guide:
https://www.progressioapps.com/get-wifi-information-on-ios-with-swift/
But the statusBar can't be accessed in the same way on iOS 13. Any ideas?
When releasing an iPhone application (a game in this case) is there anyway to limit its distribution to only iPhone 5 and above. I know that by using Sprite Kit I automatically limit myself to only iOS7, but I was not sure about the device.
I only ask as the game I am currently writing runs at 60fps on iPhone5/5S but drops to around 40fps in places when running on my iPhone4. I understand I would be loosing customers by doing this but I really want to limit the game to devices where the horse power is available to run the game at full speed.
From my initial research I am assuming this is not possible, but I just wanted to check here before I embark on adding iPhone4 support.
If your app is already listed on the app store you are pretty much stuck with what you already have. Changing required device capabilities cannot be done in app updates.
I have not read the details on each model but you could use UIRequiredDeviceCapabilities to put limits on what hardware specs needs. There are no entries for screen size but you could, for example, limit your app specs to only use the armv7 and armv8 processors which I believe are present on the iPhone 5, 5c & 5s.
UPDATE
Based on additional research and thanks to the comments of Steven Fisher, the answer to the question is that currently no restrictions of the asked type can be made.
is there a way to measure side effects of a iphone app on other apps performance? at least using a black-box focus.
Any suggestion about a monitorization app with this orientation?
I have found that my app can know nothing about other apps, but I would like to measure some kind of impact of my app on the rest of applications, or in case it is not possible make estimations about the overall system performance.
Thanks for your help
In most cases your app will not run when another app is in foreground. There are only quite few reasons you are allowed to keep your app running in the background. If your app is one of these, Instruments gives you a great way to analyse performance not only on your app but on the hole device. Have a look into the WWDC2012 session 235 videos. It deals with app performance and analysis thru Instruments.
I was wondering, what is the most accurate way to test how much memory my game application is using on the device? I've been using Instruments with Allocations and Leaks, but the highest it has ever been is 2.22MB (don't get me wrong I'm not complaining at all). Is that accurate? Is that even possible for a game? I use A LOT of images (mostly sprite sheets). Also, when I test it in the simulator it says my application is using 22MB+. I'm just confused. I thought it would be either using the same amount on an actual device or more.
Thanks
Run your app on the device with the Activity Monitor instrument. That should give you an accurate reading of memory usage.
I know this question is not programming related, so for this I made community wiki. Developers are the best guys to answer the question.
I am addressed to those that do development on devices that runs on batteries, like phones, gadgets etc. Probably you are constantly develop for them, and therefor they are always plugged in and charged at 100%. We develop mainly for smartphones and we have devices that were always above 90% charged in the last month or so.
If a battery is always charged, it degrades it life cycle, so what steps you do to ensure decent battery drain to maximize the life of the batteries.
I think you're talking about "battery memory" which affect NiCd batteries. Most devices use NiMH or LiIon, which doesn't have the problem.
Keep it unplugged sometimes. For a laptop, you can use the laptops battery just fine. For a mobile device like a phone, this is a little more annoying because you are trying to upload to it fairly regularly (but not constantly).
Use the spare. Have a 'dev' battery that you use when constantly plugged in. When done developing and ready to show off your new fart widget to all your friends, just swap the battery out.
Here's a good write-up on Lithium-Ion batteries too:
http://www.batteryuniversity.com/parttwo-34.htm
I'm developing for mobile phones so often that i have phones only for the purpose for devloping of them. So I don't care about the battery. And if I'm missing to seen a low memory screen, I use this app, to get the feeling back ;)
I don't really see a problem. If you're really professional you need 1 or even more (e.g. to simulate network etc) mobile phones for the sole purpose of developing. And if you use the phones also for your private purpose, the the battery will decrease anyway during your spare time.
There's nothing you can really do about it.
With some older devices, it was possible to use them with the battery taken out if the charger was in (how most laptops currently work), but this is very rare.
The best you can do is to unplug it whenever possible (there must be times when you're coding for long periods of time or doing other stuff and don't need the device plugged in).
Also, don't charge it overnight if you know it will be in the charger the next day.
Remember, though, many new devices use Li-ion and Ni-Mh batteries now, which are much more reliable than their Ni-Cd counterparts on this front, so you are unlikely to see deterioration as quickly.
To minimize the loss of Li-ion battery capacity over time:
Keep your devices not plugged as long as possible to have minimal charge level.
Keep your batteries as cool as possible.
You can also remove batteries if your device doesn't require them to operate and store them in a cool place.