17

I've come across this application today, Adblock Mobile, which installs a Profile on the users device and routes all web traffic through its secure VPN to disable/block advertisements both when surfing the web, and when using an application that implements advertisements, for example banner or interstitial ads. The majority of my applications revenue is ad based so this causes some concern for me and I'm actually surprised Apple would approve this application, as it hinders iAd from working as expected.

Is there a way to access a user's installed Profiles to check if this Profile is installed from my application?

Adblock Profile

Daniel Storm
  • 18,301
  • 9
  • 84
  • 152
  • 1
    I don't know the answer. I would assume that anything that lets you know what other apps exist on a non-jailbroken device would be considered a security hole. I'm curious, though, what action you could take if you did know that this profile existed that wouldn't be a violation of Apple's guidelines itself. (I assume they allow this app because they value happy users more than developers...but that's not news.) – Phillip Mills Sep 13 '15 at 14:16
  • @PhillipMills The sandbox environment not allowing access was my first assumption, but I've been wrong before. As for what the implementation would be if this profile was detectable I'm not entirely sure as of yet. I was thinking something along the lines of a `UIAlertView` that would display upon launch asking the user to either remove the profile or help support the app by actually purchasing the *remove ads* IAP. This is just one idea though. The main part is seeing how many users actually have this installed to decide if this is an issue or not to begin with. – Daniel Storm Sep 13 '15 at 14:28
  • routes all web traffic through its secure VPN: surprisingly Apple allows this. – user523234 Jan 14 '16 at 08:46

2 Answers2

3

No, it's not possible to check for existence of configuration files. Some sources:


But you if you merely want to know whether your ads are served you can do this in another way: Simply try to load some of your ads and see if they're actually loaded and act accordingly.

This should be easy to implement. And it's all you need you only care about the fact that the ads are blocked, not in what way.

Quite a few websites do this. E.g. the Dutch tech website tweakers.net serves a message to people who block ads. And I'm sure a few iOS apps will start doing this soon as well.

Check this SO question How to detect Adblock on my website? for some ways that websites handle this.

Community
  • 1
  • 1
the
  • 21,007
  • 11
  • 68
  • 101
  • Thank you for the information on the configuration files. Checking to see if ads are being served is not a very good approach though. Ads fail to fill all the time and may never fill in certain countries. – Daniel Storm Sep 20 '15 at 11:23
  • 1
    Added a link to an interesting SO question to my answer. Not in there: You could serve your own fake ads from your own server, or even from S3, e.g. an image called `banner_ad_300x250.gif`, something with a filename that will be blocked by most ad blockers and check if your app can load it. – the Sep 20 '15 at 11:48
  • This Profile actually blocks certain web traffic by routing all web traffic through its *secure* VPN rather than searching for file names to block. So an ad request may be blocked, or the response for the ad request may be blocked. Not being able to detect the Profile directly makes most of the options from that question unavailable. – Daniel Storm Sep 20 '15 at 11:57
1

No this is not possible due to sandbox. It would be a huge security issue if you could programmatically check or install profiles. Apple is very strict about security.

More details about the topic you can find there: iOS - Prevent iPhone Configuration Profile from being deleted OR check to see if it's installed

Retrieving data programmatically from a Configuration Profile in IOS

How Configuration Profiles Could Be Installed: http://www.howtogeek.com/176195/why-configuration-profiles-can-be-as-dangerous-as-malware-on-iphones-and-ipads/

Community
  • 1
  • 1
DanielS
  • 182
  • 14
  • 4
    It would be wise to copy key data from the most relevant link, or the one which contains the answer, and add it to your answer. Just be sure to quote the source. – CaptJak Sep 18 '15 at 12:13