Password protect a swift app with Touch ID - swift

I am creating an app where a user can store other peoples information and I would like to allow users to protect the information stored in my app using a passcode or Touch ID (If their device supports it).
I have already got the Touch ID part working thanks to apple's documentation, but I am kind of stuck on how to implement the passcode lock. Will i have to create another view controller for that passcode-entry? How can I ensure that my app does not have access to users passcodes (in case the app gets hacked or run on a jailbroken device)? Does Apple provide a framework or library for this purpose?
Can someone point me to some source code or documentation I can use?

You can try this library, which looks very promising and its written in Swift from #yankodimitrov.
SwiftPasscodeLock

You could use a library like VENTouchLock
Or you could look through its implementation and see how it works in order to replicate it.

Related

Is there a way/framework to track the SMS (Number/day) and Call data (Minutes/day) on a normal iPhone (Not Jailbroken)

I am a beginner iOS developer and I am trying to build an app which tracks the users SMS (Number) and Call data (Minutes/day) only but have no clue which framework to use. CoreTelephony is of no use as per my knowledge. Any help would be appreciated!
Call Statistics and SMS Statistics are handled by the cell carrier, but are also recorded by the phone and are visible in the settings application. However, there is no way for your app to access this information (as far as i know). It would be a privacy concern and probably won't ever be available. Im sure there is a way to do it on a jailbroken device, but it sounds like thats not what you want. What exactly does your app do?

How to implement Bayeux Protocol in iOS Application

I am doing a interactive iPad app where there will be a scenario when my app will be opening in multiple iPad devices at the same time,and they can join a group photo share, where one user selects a photo of his choice and that selection will be seen live by other users in their devices too who are joined to same group.
I have just got to know that this kind of behaviour can be achived through Bayeux Protocol using Javascript,Dojo for Web application. So, is there any framework that can achieve this feature in iOS platforms or is anyone know how to integrate Bayeux Protocol in xcode.
I have no idea about it, so any help and suggestions will be appreciated so that i can atleast get started with this feature.
Forget about Bayeux Protocol and implementation details.
For stuff like that, such as connecting people that use the same app on similar device, and share their actions and so on, I think that considering GameKit (even if you application is not a game, as you still connect people that will use the application on different devices at the same time, and actions of one user will be refered on other user's devices) might be a good option.
See for example the GKPeerPickerViewController to connect users to each others, the GKTank example and so on.

Is it possible to modify (add a feature to) the iPod application on iPhone?

I love the iPod application on the iPhone, but I wish a had a really simple way of saying "Play this next". Other small additional features could do wonders as well. Is it possible to modify the iPod application or in some way add a feature?
No, you can't. First, Apple doesn't give you access to the source code for the app, which you would need. Also, Apple doesn't provide any api to allow modifications to its apps. You can access data (the songs themselves) so if you really want it to be different, you'll have to write your own app.
It is not possible..Apple only provide you to use data from only few of is own apps..so updating them is out of the question

Using AddressBook to share information between iPhone apps

I've read that it's possible to share information between iPhone applications using the Addressbook. In fact, TextExpander Touch seems to be able to do just this by looking at their SDK how-to:
http://www.freshblocks.com/tutorials/how-to-add-textexpander-touch-sdk-to-iphone-apps/
Can anyone provide a concrete example of how this is achieved? I've read that it involves creating a 'dummy' contact - but I don't see any such dummy contacts on my phone.
I would instead use inter-app communication using custom app URLs ala: http://mobileorchard.com/apple-approved-iphone-inter-process-communication/
I would imagine polluting a user's address book with dummy contacts would be severely frowned upon by Apple/rejection-worthy.

What is the iPhone SDK Missing?

I've been doing mobile app development for a long time (2001?), but the systems we worked with back then were dedicated mobile development environments (Symbian, J2ME, BREW). iPhone SDK is a curious hybrid of Mac OS X and Apple's take on mobile (Cocoa Touch).
But it is missing some stuff that other mobile systems have, IMO. Specifically:
Application background processing
SMS/MMS application routing (send an SMS to my application in the background)
API for accessing phone functions/call history/call interception
I realize that Apple has perfectly valid reasons for releasing the SDK the way they did. I am curious what people on SO think the SDK is missing and how would they go about fixing/adding it, were they an Engineering Product Manager at Apple.
The biggest shortcoming in my opinion is support for separating licensing from distribution.
What I mean by this is that it should be possible to download a trial version of an application and later purchase a license for that application (from an API call inside the application or from the app store). This would make it much easier to try-before-you-buy and get rid of the current duplicates of many applications with 'lite' versions.
I think lack of push notifications for apps is the big thing we're missing right now. With push, you can register your application to perform a task (like getting the most recent data from a web service) even when it's not running, at a time and frequency the OS decides is best. In an ideal world, along with the existing concept of iPhone apps loading quickly and resuming where you last left off, this solves the problem of not running in the background. I know some tasks will be more difficult or maybe impossible with this strategy, but it's still a pretty good compromise between third party applications and the iPhone's limited hardware.
Originally push was scheduled for last September, but it was removed from the beta SDK and not spoken of since then.
API's I'm personally looking for:
Apple80211 as a public API (private, current API is fine if documented)
Access to Volume buttons (semi-accessible via Celestial, private, needs new API)
Access to Calendar (private, API status unknown)
Access to Bluetooth + SPP profile (status unknown)
Access to Camera (directly, API status unknown)
Access to JavaScript runtime (directly, not through UIWebView, API status unknown)
WebKit access that's lower-level than UIWebView (private, current API is fine)
Access to Music Library (private, current API is fine)
Garbage Collection.
CoreData is missing.
You've mentioned some of the big ones - copy & paste (or in fact any way for apps to collaborate) is another huge omission.
It also seems to lack a desktop synch framework (at least if it exists I can't find it).
Language independence and especially lack of scripting is another pet peeve - objective-c is all very well but more languages to choose from would be good.
Inability to dynamically extend apps, via scripts or otherwise, is another big omission. This is partly an SDK/OS issue, partly licensing.
My list ordered by priority:
Mapping abstraction (the MapKit looks awesome), but that would require a new Google Maps TOS
Music library
Camera (photo + video) Access to more
UIViews, Apple designed some pretty nice custom ones for their apps
Better UIWebKit abstraction
The features I see missing that it should have is
Access to SMS
Direct Access to Google Maps App. You should be able have access to this so you could extend your application to use the built in features provided by Google Maps.
Access to the Bluetooth functionality of the phone.
Access to the Calendar. Why not allow access to simply post a calendar event for the user.
Access to Active Sync. It would great if we could directly access this and communicate back to the Exchange Server.
Core Image. They provide Core Animation but Core Image is missing. I hope that this is added to the API soon.
These are some of the features that my clients have access for in the past and are supprised when they are not available.
We definitely miss a Calendar API and SMS access. So many applications could leverage such APIs. The iPhone allows users to have everything in their pocket, but it's almost useless as long as developers cannot leverage this integration in their apps.
A language with proper namespaces.
A limitation that bugs me is lack of access to system features that require root or setuid. For example: opening privileged IP ports.
I'm not sure there is a good solution to this, as long as Apple's policy is to keep the device locked-down.
Allow program to set some kind of local timed event for your application to bring up an alert and launch your app if the user agrees (like any calendar app). You could do that with push notifications but there are many cases I'd hate to have to rely on a whole server infrastructure and network connectivity just to basically do some timed thing.
Some idea of what direction the user is facing. I cannot believe the GPS chip the newer iPhones use are not capable of reporting direction.
I would personally love to see
Access to the CoreTelephony Framework (Currently private). Which allows access to all the phone functions (Especially sending MMS / SMS).
Some sort of ability to run stuff in the background. While push notifications is ok for most things, but it is a bit hard to leverage CoreLocation (i.e. have the app show a notification at a certain location). Of course this would probably need an on/off button or app specific like push is.
animation view which will be reduce developer to make a cool app , of course the core business local still need consider more , but the view layer could more easy to use ....