Find out number of ios app installs/downloads - ios

How do I find out how many times a iOS app has been downloaded/installed by users. I am the developer of the app

The hard way is to put some code in to 'phone home'. Make sure you don't include any identifying information and use a secure connection.
The easy and best way is to look at your monthly report on itunesconnect.

Related

Is DeviceCheck or indentifierForVendor safe?

I am planning on using DeviceCheckor indentifierForVendor to ensure that the same device is not being used to redeem multiple times the same gift (free money for example sake) offered to new users. I am wondering however, if it is possible to trick this system on a jailbroken device? Or using a custom simulator or a botnet (do iOS botnets exist?)?
I haven't tried it myself, but I think it is possible to change the bundle identifier, resign the app and side load it to your device.
This will change the change the identifier for both DeviceCheck and indentifierForVendor.
Now, for this to really affect you, the user needs to get a hold of the ipa. Which is getting increasingly difficult with the newer versions of iOS.
If you are interested in trying what I've discussed, refer to this link.
https://coderwall.com/p/qwqpnw/resign-ipa-with-new-cfbundleidentifier-and-certificate
And probably AirSign (much easier). Its a paid app for the Mac. https://www.macupdate.com/app/mac/51845/airsign

Block app install from AppStore and app delete using Swift

I am aware that we can block safari content using swift code. I am interested in finding out if we can restrict install of certain apps from AppStore using similar approach ?
Also, is it possible if we can restrict a user from deleting the app from device (not from phone settings but from code) ? Even if Apple does not allow that to publish such app, I am looking for a solution as a part of research.
There are two things you mentioned.
First, can restrict install of certain apps from AppStore
Using Swift code I feel there are no Public API provided by Apple for the developer till now but there is a similar way that is called Device Enrollment Program.
The Device Enrollment Program (DEP) is part of the Apple Deployment
Programs (ADP), which help businesses and educational institutions
easily deploy and configure iOS and OS X devices. DEP provides a fast,
streamlined way to deploy institutionally owned iPad and iPhone
devices and Mac computers that are purchased directly from Apple or
participating Apple Authorized Resellers or carriers.
For more visit this developer guide.
Second: restrict a user from deleting the app from device
Same response for that, till now no Developer API, but lets say if we see this as a part of research and we develop some POC still, it does not make sense for me at all (It's my device and I install the app for making my life easy and better if I don't want to use it anymore, I need an option to delete it) and I don't think so this will be possible in future as well because the USP for iOS device is user experience and we can't make this like that.
I also want to hear something from others and if possible give the use case why you are looking a solution like that.
I hope this will help.

Block-distraction apps for iOS

I want to write an iOS app that helps users concentrate on their work by preventing them from accessing particular apps on their devices for particular amount of time.
I googled around and found some "help-to-concentrate" iOS apps, but they mostly just help us to keep track of our usage of the phone (amount of time we spent on the phone, number of times we turn on the phone...). So, I do not know whether it is possible write an iOS app that can block some other apps on the device for a period of time or not?
If it is possible, can you please suggest me any keywords or Swift libraries that support this task?
Thank you.
Since Apple doesn't allow any app to access the files of other apps, it is impossible. It's just a safety measure for the users. Just use another practice to keep users "concentrated".

Allowing File Download for iPhone users?

Hope this question is okay, and hopefully not too stupid. I am not an Apple user, so not really familiar with how iPhone users do stuff.
We run a digital download store, and we use xSendFile to deliver files to users when the click the download link. Straightforward stuff I thought.
We have been receiving an increasing number of support emails from iPhone users saying they cannot download files from our website.
A bit of research suggests that the only way that iPhone users can download a file is by jailbreaking their iPhone, and installing a 3rd party download app. Can that possibly be true? More confusing still, because you'd expect iPhone users to know whether they can or cannot usually download files? Puzzling stuff.
A lot of the iPhone file downloading apps I looked at were not useful for our needs anyway, because you need to enter a direct URL to the file. If you are serving files via PHP or something like xSend, then those apps won't work.
I am wondering if anyone with experience in needing to send files to users – some of whom might be using iPhones – are there any best practises for that? Or, anyone with experience with similar kinds of headaches?
Any pointers you can give would be greatly appreciated.
Many thanks.

Removal of TestFlight apps?

Is there a way to remvoe TestFlight apps from users that have installed them? Also is there a way that TestFlight can bake into the app some sort of password that the users all have to log in with (in case of a lost phone, we don't want our developement apps exposed).
If left untouched, the provisioning of your apps will eventually expire automatically. Even without the native ability to remove applications with TestFlight there is still something of an expiration date on the application.
That would still leave your question of a "baked in password prompt" and removing the application itself physically from the device.
The first part, the app checking for authentication could be solved by implementing a solution with a more robust SDK that happens to have that sort of security-minded approach. As far as I know, and based on TestFLight's feature grid, this exceeds the abilities of their tool.
The second part, removing the application itself from the device, would be accomplished by using a tool that has the ability to use MDM (Mobile Device Management) for device-level control. Specifically you'd want to look for something that can selectively control a single application, rather than having to apply a blanket MDM policy. Again based on knowledge of TestFlight and based on their web page this is also not something TestFlight is capable of.
There are solutions out there that will give you exactly what you are asking about - easy beta testing with the added ability to force the app to check in and re-authenticate as well as the ability to remove applications from the device when you're done testing. If you hit your search engine of choice you can find a few tools that will give you a "yes" to all of your questions here. The list is very short so they're easy to find. :)
If it is at all helpful to you, I am associated with one of those companies, AppBlade, and would be happy to answer questions about this sort of thing. We're at https://AppBlade.com and you're welcome to give us a call or even log into the tool to see how it works for yourself.
Unfortunately you can't delete apps that are already installed on the device via TestFlight, unless you do it on the device itself. As for the password, TestFlight doesn't exactly support that either. You could however put a passcode lock feature in all of the Beta versions of your apps through your code. Sorry thats probably not the answers that you wanted to hear, but TestFlight is still in its early stages.
You are not able to delete apps from a users device, however TestFlight is testing in their 'Area51' an option to force users to update to a new build if there is one available.
If you no longer want testers to access your app you probably could add a new build which justs shows some info screen.
There is a way to expire the builds in the app store connect when you click on build.
Another way if you want to get rid of it as a tested to open the app page and click on stop testing.

Resources