OS X to iOS communication via USB? - ios

Is there currently an Apple-approved (or at least tolerated) strategy to transfer high-bandwidth data over USB from an iOS device to OS X? Is this even allowed as an MFi program developer?

Maybe peertalk is interesting. "PeerTalk is a iOS and OS X Cocoa library for communicating over USB and TCP."

I would take a look at this project from iOSDevCamp 2010 if you want to transfer data over USB:
http://maxweisel.com/blog/2010/08/iosdevcamp2010-hackathon-ios-usb-sync/
Perhaps this doesn't map to what you're actually trying to do, though.

There is no legitimate way to do this using the public iOS SDK at the moment.
It is also impossible to do that within the MFi, unless you want to put a peripheral in between.

Related

Writing device drivers for iOS

I have a high level question I seek information on:
Is it possible to write a device driver in iOS ? Is it possible to write a driver & deploy it to my iPhone or iPad ?
If yes, then are the drivers advised to be written in language Swift ? Or is c ?
Short answer, no.
I'm not really sure what you're trying to do, so more details may be helpful, but by the sound of it, no you can't write and deploy device drivers on iOS.
iOS is tightly locked down by Apple. Each app lives in its own sandbox in an effort to keep the system secure. You have access to the public APIs. Accessing private APIs may result in your app being rejected from the review process.
In order to write and install device drivers for iOS devices you would need to get support from Apple. There are various types of drivers depending on what it is you want to do. They have a program for vendors who make accessories that plug into the lightning port (or the older 30-pin port) and another program for manufacturers of Bluetooth devices. Both require licenses from Apple.
I'm not sure what other types of device drivers are possible. You need to be more specific.

Is it possible to get the data from an HID through bluetooth in IOS platform?

Our company developed a project keyboard using bluetooth 4.0 (BLE) to connect with iPhone. It is a HID and can send both keyboard and mouse data depending on the mode it is on. My job is to develop an iOS application to catch the data from it. In my last case, IOHIDLib in OS X platforms can do it easily, but in iOS platform i found that it is hard to get something similar with IOHIDLib. I have tried some ways.
CoreBluetooth, but this library can't communicate with HID.
BluetoothManager, but private framework is hard to maintain and it doesn't
support iOS 9.3
Gamekit, but this is only for two IOS devices.
ExternalAccessory, but our product don't have a MFi license and have no plan
to get one.
To put it simply, what I need exactly is a way or a framework allows me to read and write data with a HID through BLE in IOS platforms.
I will appreciate any help!! :目
P.S. The project keyboard works well, I can use it to type letters on my iPhone correctly.
P.S. I use Objective-c.

How to connect to USB device from iOS with Xcode or swift

I'm trying to connect USB camera to iOS in Xcode using Swift or Objective C.
I saw online to try and use IOKit.framework, but I believe it's for MAC, which I'm not using. dos NSSstring converters but I'm unsure that will work either. I'm trying to do it through iOS.
I also have a WIFI adapter that will connect to my NIKON DSLR and shoot photos to a PC over wifi but not sure how to get the iOS device to connect and download these images.
Thanks in advance!
Looks like this isn't possible, at least for what you want.
Communicating with an external accessory requires you to work closely
with the accessory manufacturer to understand the services provided by
that accessory. Manufacturers must build explicit support into their
accessory hardware for communicating with iOS. As part of this
support, an accessory must support at least one command protocol
These USB devices obviously have not been designed with iOS in mind, so there is a very small chance you can get it to work the apple way.
Alternatively, you can look into jailbreaking and that sorta deal with the cameraconnectionkit library. This is way out of my scope though, so good luck!

Retrieve the WPA2 Enterprise username in iOS

I have an interesting requirement that I'm not sure is even possible. Currently, I'm developing an iPad app for a fleet of tablets. The tablets connected to a WPA2 Enterprise WIFI network. Is it possible using Objective-C or Swift or C magic or whatever is necessary to get the identity/username that is connected to the wireless network?
I've poked around CaptiveNetwork, but it doesn't seem to be what I want. I'm not sure if there is something to CWNetwork, but that seems to be Mac only. You can do this on Android (I know, because I'm currently doing it with the key android.net.wifi.WifiConfiguration$EnterpriseField).
Can anybody help?
I did some reading and was thinking this would be possible through SCPreferences in the SystemConfiguration framework, but unless your device is jailbroken, the APIs you need are not available on iOS.
The only way that comes to mind is with an MDM such as AirWatch or Good.

Bluetooth programming in iPhone

I am planning to develop an iPhone application to transfer files/data to/from my Windows Desktop using Bluetooth.
Please let me know whether the programming interface(SDK)is available in iPhone SDK for this purpose.
In Windows Mobile, I can transfer the file either using a FTP profile or writing application on top of Serial Port Profile(RFComm).
Can anybody tell me, whether this can be possible with an iPhone by writing appropriate application. If not, please let me know alternative way to transfer files/data over bluetooth from iPhone to a Windows Desktop PC.
No, FTP or SPP bluetooth profile are not open in iPhone...
If you get into the made for ipod program, you might develop a bluetooth dongle for a computer (it can't use the normal one built into the computer as it needs a custom apple chip for encoding). This is the only method that could do something like what you want over bluetooth and get your app into the app store. You can implement a similar functionality more readily over wifi.
Yes you can. Use the Human Interface Device profile, and have your USB device pretend to be a keyboard. You can then have your app receive text input from the "keyboard". simply encode your data as ASCII encoded hex or base 64 and transmit. Whether or not your app would be allowed in the app store is a different matter.
There are 2 requirements to use iOS BT Classic for data transmission over RFCOMM.
1) You need to be enrolled in Apple MFi program.
2) The BT accessory which will be connected to iPhone needs to have a special HW chip called "MFi Coprocessor".
Both requirements need to be satisfied if you are developing FW for the BT accessory.
The latter one is required when you are coding iOS app.
BTW, you will not be able to communicate with Windows machine unless you have a BT dongle with MFi chip inside - see the second requirement.

Resources