Share wifi configuration in Objective C [closed] - ios

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
I'm not trying to reproduce this at all, but I've just watched this video, and am wondering how is the wifi configuration sent to the weather station.
You can see it around 1:20.
From what I know, to access wifi configurations, you'd have to be jailbroken and use private APIs, and yet, Netatmo is available on the AppStore.
Thanks !

I've seen the video.. I don't know what exactly they are doing. But as I am also working on similar stuff for my company, I can suggest you to achieve the same. As in video, they connected exteral hardware with iPhone through USB interface. they must be having some wifi module in there hardware. through USB interface, may be they are requesting wifi settings of hardware from iPhone, & then are creating ad-hoc network. As they have access to firmware, they can configure any type of network they want using iPhone. They just have to have USB interface working properly. So here you are not accessing wifi settings of iPhone, but of external hardware. Let me know if more info needed, or any edits in my answer .:)
EDIT About Ad-hoc & Infrastructure mode... I was not focusing on that sorry. As I've already mentioned about ah-hoc, in case of infrastructure mode, the firmware(Inside external hardware) device can take wifi host address from iPhone (using ifaddrs), then request host for an IP. (Can be static or dynamic). Now it can inform about allotted IP to iPhone. All these happened using USB interface, and now as everything is set, we are good to go. Let me know if I am still missing some points ..:)

Related

iOS native-layer automation [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I need to automate iPhones (6s) that are in a radiated screen room to place VoLTE calls to each other. I have already done this with Android, I set a laptop in the screen room and connect the Android phones via USB and then run scripts from the command line using ADB which automates the native-layer on the phones. I need similar capability for iPhones. Apple says no solution exists. I have looked into other software (Ranorex, TestPlant, Conflair, etc.) but they cannot meet my needs as they are unable to access or automate the native-layer, only the application-layer. But I am not trying to automate an app, I need to automate the phones.
I would prefer not to jail break, and my iPhones need to be running the latest iOS version. So, is it possible? How can I get equivalent functionality of ADB for iOS?
No, Apple does not expose the ability to place phone calls to third party apps. They specifically block all such access from third party apps. You would need to build a rig that operated the screen like a user, which would not be easy or very reliable.
You need to do this externally, not over USB or via software. Possible external mechanisms might include a robotically controlled touch stylus and an emulated audio headset. If needed to avoid RF interference, you may need to find/build an pneumatically actuated robotic interface for the touch stylus.
Added: Another possibility: It may be possible to set it up (in the Settings app) so that Siri via Bluetooth or wired-headset audio can place a phone call.
An emulated wired-headset with a prerecorded message and "Hey Siri" enabled in Settings might work. Also disable Auto-Lock in Settings.
Like what duncan said, it is not possible with ios. I sometimes miss androids 'freedom' when i code in ios, at the same time as an end user happy that ios is 'strict' about this kind of stuff

iPod Touch and XCode [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
I am learning XCode. Soon I will have to test my apps in a real device. I have a Mac but not an iPhone. I suppose I have to buy something. Is the iPod touch a good option to test my first apps?
I am not asking an opinion. This is just a technical question. Is the iPod Touch technically capable to be used with XCode to test, is it a correct tool for a developer?
You don't need a physical device until you need to test some basic features like "Calling...", "a camera to take a photo/video", "motion detections", "user's location"... and the things which you can't expect from a "iOS Simulator". Xcode (of course Apple) provides some simulators (few may call it emulators) for different devices like iPhone, iPad, and iWatch. So at initial "for only learning purpose" you may remain on it, once you get familiar with iOS development, you can purchase an iPhone (or iPad and not iPod). For me, if I'll own an iPhone then I can use it as my personal phone too. For iPod – you can't make phone calls or send message through your network. If you own an iPad then you have two options, one with sim or without sim. It depends on you to choose a device.
If you're planning to build professionally on later stages you should go with an iPhone (may be latest).
P.S. However, if your budget is not great then you can buy an iPhone4s (it supports iOS 9). And you can test almost everything on it.
Yes, you can use iPod touch to test, but basic phone functionalities you can't.

Create a tethering app for IOS [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
Now I know this question exists on stack overflow but not in the way I plan to use it.
I'm an IOS developer and I love being able to share internet from my phone to my iPad and Mac for when I travel. If i pay the extra $20 a month through AT&T for tethering I will lose my unlimited data.
One of the popular answers or "raised concerns" is that apple will not accept an app that enables tethering. Well the thing is I would just like tethering on my iDevice and if it works out I would post the project to github so other developers can enjoy the benefits of non-jailbroken tethering. Also I would not try to publish it to the app store, i know it would get rejected.
So my question is how do I write a tethering app, not like iProxy, but more like MyWi or TetherMe.
I'm pretty sure it's possible because apps similar to that have slipped through apples reviewal process before.
Tethering uses private APIs, so it would be rejected by the app store. Also, AT&T would know, app or no app, whether or not you were tethering.
Also, only the Settings app can change those sorts of settings (and considering the LTE toggle, it's doing quite a bad job of it). On a non-jailbroken phone, only Settings can change Settings.

Apples external accessory (bluetooth) only for MFI devices? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
Target of my bachelors thesis will be to connect optoserial devices via bluetooth adapter to an iPad. Currently I'm struggling with Apples restrictions. I read often in the web that I can use the supported profiles to connect to any devices that support at least on of those. But Apples technical FAQ points points out that "the External Accessory framework is designed to allow iOS applications to communicate only with hardware accessories that are developed under Apple's MFi licensee program". I dont think that those people writing here are just lying for fun.
Can anybody tell me out of experience if it works or not in conjunction, and thats the point, with non-MFi accessories?
The External Accessory framework is indeed for MFi only, but you have two options:
Jailbreak (I can't give you any advice there).
Use CoreBluetooth instead.
I've used CoreBluetooth in my own applications and it can get the job done, depending on how much data you're looking at transmitting. I don't know what an optoserial device is, how how much data you would need, but we're talking data transmission on the order of bytes efficiently. CoreBluetooth operates with Bluetooth 4.0 LE devices, right now that is any iOS device released after (and including) the iPhone 4S.
Certain types of BT devices (ie. hands-free modules, BT headsets) of course don't need to be MFi.
Serial communication, on the other hand, is completely different story. BT accessory has to implement an identification process - usually by using identification chip.
Interesting thing is that SPP (Serial Port Profile) is not even listed under supported profiles.
But sill you can find some MFi GPS modules.
And this module is also interesting: OEM Bluetooth iPhone / iOS Accessory Module OBS414
You have to enter the MFi program before you can even get technical specifications though. Otherwise manufacturer would be breaching NDA.
There is one more workaround on how to communicate via BT: you can always implement hardware FSK (or similiar modem) on one side (audio BT link) and a software counterpart in the app.

Bluetooth/WiFi between Mac app and iOS app [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
How can I make a Bluetooth Mac app that connects with an iOS app and sends messages ?
Or an iOS app that connects with a Mac app via a local WiFi network ?
NOTE: this answer is now outdated as with the introduction of CoreBluetooth (Bluetooth LE v4) since iOS6 and OSX 10.7 any iOS device is open to any kind of communication with any other BLE compatible device, either a Mac or PC or external hardware.
The answer below is still valid if you cannot support BLE, due to old hw or specific requirements (e.g. required bandwidth)
As far as I know, this is almost impossible. Bluetooth connection between iOS devices is well supported with the GameKit framework but there is no support for connection with other OSes, OSX included. The only connection between Mac and iPHone I have ever seen is with the hotspot feature (when it works).
Consider for example the Keynote Remote app. This app allows you to control a Keynote presentation using your iPhone as a remote. It allows this control when the two devices are Keynote-paired on the WiFi, but this connection is not allowed using Bluetooth, while with Bluetooth you can control a Keynote presentation between two iOS devices. And you can find this statement in Apple tech note 2152:
An important consequence of the first point is that Bluetooth peer-to-peer networking can only be used to communicate between iOS devices; you can't use it, for example, to communicate between an iOS device and a computer running Mac OS X.
As far as the WiFi question (I forgot to reply to it in my first question) essentially you to kind of problems to solve: discoverability and data transfer. In order to determine if two devices are in the same network, you can use the Bonjour protocol. Essentially one of the machines publish itself as service-provider for a specific service (you can create your own service: e.g. "_mytype._myprotocol") and the would-be client will search for a server. Besides Bonjour takes care of other things like addressing and DNS without the two apps to know the details of the local network they are in. This is explained in Apple docs here: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Articles/about.html
Note that Bonjour is at the base of features like AirPlay (Apple TV), AirPrint and probably also AirDrop but it is supported by a lot of devices, e.g. some NAS. In the SampleCodes section of the Apple developers site you will find a great example, called "BonjourWeb" that shows how service discovery works. You can easily try it in your iPhone simulator or device and if you have some Bonjour-enabled device you will see it in the list.
The second problem of course is then real data communication between the two devices, is up to you to define a custom client/server or use a standard web-server based approach. This depends on the application and the data flow. The first approach is better as it is highly customized, you must study the NetworkStreams concepts and check out the SimpleNetworkStreams code in the apple library (this is a simple communication app between a Mac and an iPhone; not always working but it is a good starting point)

Resources