iOS and Bluetooth Communication

Leave a comment

Communication to Bluetooth devices was possible with External Accessory Framework by registering in MFI program. But this case was until iOS 5 came with which came the CoreBluetooth Framework. But what is the difference between them?

External Accessory Framework:

1.  To use this framework we need to be registered in MFI Program and should have made our bluetooth enabled device MFI compliant. To register here as such we need not pay for Apple. But there are costs involved in getting a certificate from third parties that your hardware does not interface with iOS device.

2. It is available for  all iOS based devices that run in iOS 3.0 and above.

CoreBluetooth Framework:

1. There is no entry cost, no registration needed.

2. It is used only for devices that are compatible with Bluetooth Low Energy.  (Bluetooth Low Energy is a feature of Bluetooth 4.0  which is claimed to be consuming far less power than that of classis Bluetooth devices)

3. iPhone 4S  is the only supported iOS device that is BLE enabled, so Core Bluetooth Framework based app can at this point in time be supported only in that device.

4.  It is supported only from iOS 5.0.


putpkt: write failed, broken pipe

Leave a comment

When you get this error while testing an App in iOS device, with out further ado you can do the following to get out of it:

1. Reboot your device

2. Clean your build and rebuild the project and launch the App.

If you get the same problem again add the following options to your procedure:

1. Delete the App from the device

2. Restart XCode.

At times you can get rid of this problem only by Factory Rest of your device.

Ability to detect change in wi-fi change in iOS

Leave a comment

I was just exploring if we can find when our iPhone or iPad changes from one wi-fi to another. I felt we can detect this based on the SSID of the access point. And there is a framework named MobileApple80211. But since this library internally uses the private APIs of iOS, we can not use this to detect the change in wi-fi network. If you know any other ways to do it, please share it.



Xcode 4 buggy

Leave a comment

How can you make a developer easily frustrated?

When you are asked not to do things, you have to do with a IDE.

Here are things you should not do with Xcode IDE version 4.0.

1. Dont use Command + Z to undo the changes you have made.

2. Dont use Command + C to copy and Command + V to paste.

3. Dont save the changes you are making to a file.

4. Dont use Command + X to cut some of your code.

If you dare to do , you would be notified with a message “”Internal error” asking for you to either crash or continue.

No one wants our IDE to crash, so choose to continue and you try the same operation and Xcode throws you the same message again. If you keep doing many times, Xcode would hang and Crash.

There are other annoying things with this version of Xcode.

1. You can not use debugger once you have started your application in run mode. You can debug only if you start right away debugging.

2. Most of the shortcuts you have used with earlier Xocde and Interface builder will not work.

Hope to add many more things to the above list, in my tryst with Xcode 4.

Apple’s Greediness

Leave a comment

The New updated developer agreement that Apple has devised has created a great uproar among the developers .

The problem is with the new Subscription billing requirement:

11.2 Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected

What does this mean?

If an App has a business model where it gets paid from users by any other than in-app purchase, either they have to adopt the IAP and take a 30 % cut or get out of the App store.

This is the Official Press release from Apple:

“Our philosophy is simple—when Apple brings a new subscriber to the app, Apple earns a 30 percent share; when the publisher brings an existing or new subscriber to the app, the publisher keeps 100 percent and Apple earns nothing.”

And what does this mean? Utter Greediness.

Even though, Apple provides the a platform for the App developer or content provider to make business, the customer buys the App for the App developer and its functionality not for of the Apple.

If Apple wanted to crackdown on Applications that supports payment other than in-app purchase, soon in future iOS would be desolated , because of the prominence Android is gaining around the world, and their yet to be made moves as this.

I dont know if this means that, if Apple would not allow credit card, debit card payments in applications in App store and force developers to include in-app purchase. If this is not the case right now, this might be their next step towards making iOS entirely their platform.