App to restrict access to other apps

Discussion in 'iOS Programming' started by ayojayjo, Apr 22, 2013.

  1. ayojayjo macrumors newbie

    Joined:
    Apr 22, 2013
    #1
    How should I go about developing an app that restricts access to another app? I see that the iOS has a 'Restrictions' tab under Settings, but can an application leverage these permissions? Say, for example, I'd like to limit the use of Angry Birds to a certain period of the day. Possible?
     
  2. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #2
    Without jailbreaking, such an app is not possible.
     
  3. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #3
    Thanks for your reply! How about an app that turns off your data connection for a said period of time?
     
  4. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #4
    Nope, not possible. These are OS-level restrictions, something that app developers are not given access to.
     
  5. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #5
    Interesting. I had a feeling that was the case, thank you for confirming.

    I imagine that these OS-level restrictions differ between operating systems. Are you aware if restricting apps and system settings are accessible on Android? Windows Phone?
     
  6. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #6
    Is it possible to create an independent app that password protects other apps? For example, my son or daughter would not be able to open Angry Birds unless they enter a password that is randomly generated and sent to the device owner's e-mail account
     
  7. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #7
    Without "rooting" or whatever they call it, I doubt it.
    If you can restrict access to Angry Birds, you can restrict access to any App,
    and your intention might simply be to regulate your kid's usage,
    but from everyone else's point of view, who are you to restrict access to any App you like?

    Then it would be possible to write an App that makes everyone's iPhone go screwy.
     
  8. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #8
    The answer is still: not without jailbreaking.
     
  9. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #9

    Well imagine if my job requires my iOS device but I'd like to restrict myself from Facebook to increase my own productivity. I'm trying to develop an app that will save me from myself :) I wonder if there are any loopholes I can leverage to do this...


    Hmm cool... how can I go about learning more about "rooting"? Can you suggest any search terms?
     
  10. truehybridx macrumors member

    Joined:
    Dec 6, 2010
    #10
    Since you mention iOS more than android.

    If your firmware is 6.1.2 or lower, download evasi0n, jailbreak your device, and install Lockdown or Lockdown Pro. The problem is neither of those have time restrictions, only password locking but its a start.

    If your firmware is 6.1.3, then exercise restraint because you cant jailbreak that version :p

    For android you'll have to goto Xda-developers and find your specific device to see what you need to do
     
  11. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #11
    alternatively, I'd like to track how much Angry Birds my kids are playing on my iPad while I'm gone. Is it possible to create an app that tracks the times during which another app is used?
     
  12. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #12
    I'm hardly authoritative on it, but it occurs to me the answer is no,
    because you can't see another App's memory from your sandbox.
    You could see it in logs if it was an App that regularly crashed is about all I can think of.

    You could probably do that jailbroken too though.

    You can actually search for "rooting",
    and it takes a few results for it to mean something else :D


    On the PSP you could write a program that launched another program.
    On that platform the second program could have been angry birds,
    and the first program could be a dummy launcher with the original
    Angry Birds icon and a built in timer.

    I think a jailbreak app could do that, but there'd be a less technological way,
    like checking the battery level from start to finish of the day or something.
     
  13. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #13
    thank you xArtx! from this i take it that the log does not contain information about when an app was executed. if it did, I guess it would be possible to create an app that reads the log and produces a usage report for Angry Birds.
     
  14. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #14
    I don't know that an App can read the log, that's only a maybe,
    and I only see crash reports on mine, and don't know what else is available to look at.

    Coming to think of it, on the PSP you could check if another program was running too.
    That's kernel mode for you. I miss those days.

    Is Angry Birds a dummy example?
    That's an odd motivation for an App.
     
  15. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #15
    Yes, its a dummy example :)

    By PSP I'm assuming you mean the Playstation Portable... please correct me if I'm wrong.

    Thanks again xArtx... I'm going to look into what log-type records are accessible in order to generate a usage report. Any help is much appreciated!
     
  16. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #16
    It wouldn't work with the App Store distribution method,
    even if you got it past them, any unique ability could come into question at any time.

    If you're doing something for yourself, this is the wrong forum really,
    but only because it's largely people that chose the official distribution method.

    It does sound to me like you want to sneak something into the App Store distribution method.
    That is the part I think won't work.
     
  17. ayojayjo thread starter macrumors newbie

    Joined:
    Apr 22, 2013
    #17

    I'm not really trying to sneak anything in. I want to be able to generate app usage reports and would like to do it by any means available. I'm just wondering if there are any ways available. At this point I understand this may require a creative solution (I was hoping this was not the case), but I hope to fall within the App Store distribution method limits.

    Can you suggest some reference material I could peruse to see what kind of logs are available to access for this objective? I guess this would be a 'unique ability', but I'm not trying to reinvent the wheel. I'm hoping to use tools that our readily available.
     
  18. xArtx macrumors 6502a

    Joined:
    Mar 30, 2012
    #18
    I don't think an App can access those logs at runtime.
    You can look at crash logs in Xcode.
     
  19. guzhogi macrumors 68030

    guzhogi

    Joined:
    Aug 31, 2003
    Location:
    Wherever my feet take me…
    #19
    I'd be afraid to use those kinds of apps, anyways. If developers were allowed to create an app that blocks other apps, there would be so many apps that block competitors' apps. Plus malware where you'd have to pay the malware's developer to use other apps.

    I doubt that that's what you meant, but there's good reason why apps aren't usually allowed to do the stuff you want to do. I've never used Windows, Android and Blackberry. They may be more open to that, but I wouldn't know.
     
  20. truehybridx macrumors member

    Joined:
    Dec 6, 2010
    #20

Share This Page