I'm writing a Today notification center widget which I want to show different information depending on whether or not the device has password lock enabled (basically I want to hide confidential information if the device is password locked). I looked around and couldn't find any good ways to do this. Has anyone been able to successfully do this?
I would not call this best practice, but it should be a workaround:
Try to access data in the keychain. If it works, the device is free, if not it's locked.
Disclaimer: There is a chance this will break in the future with changes around WatchKit. It's not documented yet, but chances are that the watch will be able to access the keychain although the device is locked.
You may be able to enable iOS Data Protection for your app and then use the applicationProtectedDataWillBecomeUnavailable and applicationProtectedDataDidBecomeAvailable methods of UIApplication to detect changes in the password lock setting.
Warning: these API's are not intended for this use, so there's always the risk that Apple will take issue with it and reject your app.
Only for iOS 8, you can use kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly protection level to find out whether or not the device is locked. This frame worked might help you out: https://github.com/liamnichols/UIDevice-PasscodeStatus
Related
Since IOS 13 came to live old 3 party APIs stopped working, In my app i needed to fix few because of that so i needed to fit it to IOS 13.
Since then Apple keeps rejecting my app because of Bluetooth user notification is not correct.
I just don't know what to write there, It is so annoying. I have to add it because of AdMobs and there is nowhere to say what to write over there.
I don't user BT in my app, it is just the AdMobs beacons that needs it probably.
I've tried:
and
And i will probably will have the same issue with the calendar message also.
When i try to remove it they demand it and then not approving it.... I understand maybe the first one but what wrong with the the second one? why is that no clear enough for them?
10x
see apple docs below: https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/requesting-permission/
Explain why your app needs the information. Provide custom text (known
as a purpose string or usage description string) for display in the
system's permission request alert, and include an example. Keep the
text short and specific, use sentence case, and be polite so people
don't feel pressured. There’s no need to include your app name—the
system already identifies your app. For developer guidance, see
Protecting the User's Privacy.
you're not explaining exactly why you need access to bluetooth. you must be specific. saying, "XYZ app needs access to bluetooth to interact with beacons to serve you location based advertisements"
something like that should do. no cutting corners, no trying to put it off on Google, just say it like it is and you'll likely pass through app approval without a problem.
I need to crate app, one of it is features to check if user is using Facebook or whats App during driving is it doable.
For privacy matters, Apple does not allow iOS apps to access other application's data, such as when the user enters them and other "sensitive" data of that sort. So, the simple answer is that you cannot do that. Another App's usage is undeterminable as of now on iOS.
Either way. Even if iOS apps are allowed to fetch data from other apps, you have to make sure your app is running on background and checking. iOS manage memory itself and kills app in background automatically. So the app is not practical. Plus if you constantly check the speed in background, the battery life will decrease.
But again on the first hand as other answers, your app does not allowed to access data. So this is not doable.
It is not possible , as apple does not allow iOS Apps fetching or accessing other apps data. Thanks
I am creating an anonymous posting application which poses an obvious security issue about someone writing in a terroristic threat or bomb threat. The app is using Firebase as it's backend and requires no client account creation/login. Is there information I can store that in such event it can be useful in being able to trace back the device? I know ad id can be used to get a unique per device identifier, but will this really allow the device to be traced back? Thanks in advance!
It's nice of you to be worried about someone making a bomb threat.
However, leave that to the police.
Apple will be worried that your well-meaning code to identify phones of terrorists might be used by you, knowingly or not, to breach the privacy of its customers. Therefore there is no way whatsoever to identify an iOS device.
Is there a way to open an app from the lock screen without putting in the password? Like the phone app can be called when a missed call notification is present. Is this possible?
I have dabbled with various ideas to make the main functionality of my app work. Through my research I cannot find an answer to my dilemma.
I want the user to be able to use the app without unlocking the phone or once in the app not being able to quit the app without a password essentially locking the phone from other uses except the main functionality of the app.
I know there are private frameworks that would allow it but is there a way to do it with Apple's approval?
No. This would be a security issue as you could send an APN and potentially allow someone to get into a locked device without the user's approval.
Is it possible or is there a way to make an app that automatically do something when the user has entered the wrong passcode in the home screen.? The app should do something only if the passcode is wrong. The passcode I'm talking about are the ones that the user uses to unlock the screen. Only passcode since touchIds are not working on lower versions of iPhones.
If yes, can you give a link on a documentation or maybe even a simple code so I can understand. I'm still a newbie btw. Thanks
As the previous answer has already said, Apple doesn't allow you to do anything with the passcode. This is because the developer would be able to get the passcode of the user which would be a major security breach.
On a side note, this is possible on jailbroken iOS devices, however that probably misses your point and is against Apple's guidelines anyways.
No that is not possible. That is an Apple Restriction.
Third party apps cannot have any access information on the home screen passcode actions.