Thursday 22 August 2013

MFi Technical for iOS Device

If you want to access MFi technical specifications and/or sample quantities of licensed components for development purposes you can apply for development license. The MFi Manufacturing License is need by companies who will manufacture MFi accessories as finished goods.

If you want to develop cases for iPhone, iPad or iPod you don’t need any license. Low Energy/BTLE/Bluetooth 4.0 or standard Bluetooth profiles supported by iOS are not part of the MFi Program so if you want to develop any products using Bluetooth then you don’t need MFi License. If you are an iOS application developer and want to develop app that communicates with MFi accessory then you don’t need MFi license.

After your device approved by Apple you have to make changes to your iphone application to support that hardware and communicate with device. Changes should be as follow,
  1. Provide external accessory framework for communicating with external hardware connected to an iOS-based device through the 30-pin dock connector or wirelessly using Bluetooth. 
  2. Configure info.plist file correctly to support external accessories. Include the UISupportedExternalAccessoryProtocols key to declare the specific hardware protocols your application supports into info.plist file.
  3. Import external accessory framework that used to communicate with accessories attached to your iOS device. This is useful to integrate accessory level features into your iOS app.
  4. Create EASession object, which is useful for managing the accessory interactions. Data transfer in your app occurs through NSInputStream and NSOutputStream objects.
  5. Accessories are not visible until its connected to iDevices. Application can get the appropriate accessory object and open a session using one or more of the protocols supported by the accessory.

The iPhone or iOS application developer should be in touch with manufacturer of device to understand different configuration of device, Input/output support by device, services provided by device etc. External device must support set of protocols for sending and receiving data between device and application.



0 comments:

Post a Comment