Interprocess communication in iOS [closed] - ios

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
We are developing an SDK for iOS which requires different apps on the same device to know each other and pass information between them.. This is required for battery consumption and network usage purposes.
Using custom UIPasteboard is not an option because the SDK will be hosted by apps from different companies.
Using openURL is not an option because it forces the target app to become foreground.
Our current idea consists of sending UDP packets between the different apps (each app listening on a different port).
Our questions:
1) Is there a simpler option?
2) Do you think that such a solution is somehow not allowed by Appleā€™s terms & conditions?

Because of limitations of iOS most reliable solution in this case would be using backend.
But if you still want to try - there is one option. You can use tools like GCDWebServer (https://github.com/swisspol/GCDWebServer and you can find more options) to set up local server on the device. Then you can use it to share resources. The problem here - is that you will not be able to run it in background all the time. You can investigate how you can make your app to run in background (using location updates or silent notifications) to check if this can satisfy your needs. Maybe your solution can be: combining backend server + local server + background app refresh

Related

iOS and Mechanical Turk [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 6 years ago.
Improve this question
I want to develop an iOS app which can upload an image from the device to be processed in an HIT on Amazon Mechanical Turk and the text result can be relayed back to the iOS device.
I know there is no native iOS API for Mechanical Turk, but is there a way to go around that by using something else perhaps?
Thanks!
You shouldn't use the Amazon API directly from your app, because in that case you would need to distribute your AWS access key & secret with the app. (I'll let you figure out why this would be bad thing)
You need a backend for your app, from where you'd send work items to the Amazon service, and notify the iOS app instance upon completion.

Walkie talkie open source library on 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
I have to do two way walkie talkie iOS app.. I searched a lot got information about 'push to talk service'. But can't get clear idea. May anyone can help me? How it works by iPhone for a particular channel... I got a iTunes link
https://itunes.apple.com/us/app/two-way-walkie-talkie/id595560554?mt=8
Can anyone tell me how this app works? Is they recorded and send voices to other user or they are sending live audio ? Also they are not getting any information from user..
Most walkie talkie apps are done by sending recorded audio file instead of sending live audio stream.
If you want to implement a record-and-forward type walkie talkie, you need to have a backend file server for storing temporary audio files which can be downloaded by the receiver side.
If you choose the hard way, i.e, sending live audio stream, it's another level of complexity. You're look at implementing literally a VOIP app. You may use PJSIP for your VOIP core functionality. However, you might end up spending months on the project in this case.
Personally, I strongly recommend you to go with the first one.

How to log network performance data in iOS applications? [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 8 years ago.
Improve this question
Apple's SDK agreement limits an applications' scope of data access, but has anyone found how to log any of the following information (even if it has been shut down by apple)?:
Operating System,
OS Version,
Network Name,
Technology,
Device,
Latitude,
Longitude,
Time,
RSSI,
RSRP,
RSRQ,
RSSNR,
Cell ID,
Ping Time,
Packet Loss,
Ping Success Rate,
Download Speed,
Upload Speed,
Call Event Type,
This can be accomplished fairly easily on Android, but I'm trying to find a way to collect this data on iOS where there are more roadblocks in the way. All feedback is greatly appreciated.
Even if you have been rejected by Apple but you've found how to get this info, how'd you do it? Ultimately I'd like to create an app that can log this data in a passive way (doesn't need to be open), but active logging would work too.
For Latitude, Longitude, I think you can get using locationManager from Core Location. This provided that the user of the app allows you to get the location.
To know the network status, you may try Reachability sample code by Apple
https://developer.apple.com/Library/ios/samplecode/Reachability/Introduction/Intro.html
I don't think you can get as much information from iOS compare with Android as Apple really cares about the Privacy of it users.

iOS Call Recording applications [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 8 years ago.
Improve this question
I have read about what most people say that it is not possible to create iOS applications for the app store that is able to record calls as there are no public frameworks available that has this function. In this situation it means to record phone calls directly using the default phone app provided by Apple.
However, I have also came across several app store applications that records phone calls. While there are no public frameworks that that are able to record calls, I believe these applications in the app store uses VOIP (such as Viber). I know the difference between VOIP and direct call recording that VOIP delivers voice communications over Internet Protocol (IP) networks, such as the Internet.
My question is how VOIP is called from code in applications. Is VOIP called from some public frameworks since private frameworks are not allowed in the appstore?
Edited: Removed 2nd question
These apps are not recording Phone.app calls from the device. Think of it like Skype or a similar service for your computer. Although your computer cannot make calls, services can use VOIP (Voice Over IP) to send audio data to a server. The same thing is happening with these App Store apps.
A user downloads a call recording app on the App Store.
The user makes a phone call to someone from WITHIN THE APP THEY DOWNLOADED.
The app starts sending voice data to the server and THE SERVER proxies the call to the destination number. You will notice that the interface for the "end call" button and dial pad are different, this is because Phone.app is not being used.
Now that the app is just sending it's own audio data, it has access to and can record it.
The open source application, siphon, is a great example of how VOIP can be implemented using Objective-C in an iOS app.

iOS: creating a Server in Objective-C for 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 9 years ago.
Improve this question
experts and friends. I have a question regarding creating a server for iPhone app. I have had experiences with HTML, server-side stuffs such as using PHP, mySQL etc.
But making an App utilizing a server is something I have not experienced with.
The ideas is as follows:
1.) A simple server that sends out responses in JSON format (I have only had experiences with parsing in Objective-C but not generating from within a server).
2.) Enabling users to create a very simple account (profile name, password, a 50 x 50 px profile picture)
3.) It is just a fun / learning project between me and my other coworker. We were hoping to do, let's say, if I am driving to work and so does he, on the same route, we were hoping to be able to see each other's locations on google map and send each other /receive message each other a short message via the server.
And we were hoping to do all this server stuffs (preferably) within xCode and in Objective-C. There are many resources for server-side stuffs on the web for Java, Python, PHP etc, but not Objective-C. And we would love to be able to do all these in Objective-C.
I was hoping to get some advice regarding the technologies needed (ex: from hardware to software requirements to the structure / architecture of the set up)
from all of you. Sample code and description would also be helpful.
Note: we are knowledgeable on how server works (sending / receiving requests, etc) and have coded already in Objective-C.
Thanks in advance.
if I am driving to work and so does he, on the same route, we were hoping to be able to see each other's locations on google map and send each other /receive message each other a short message via the server.
Your IP address will likely often change, so if you want your server to be always available, it will have to periodically update some database in a fixed location (e.g. dynamic DNS resolver).
However, note that Apple makes it possible for your app to stay in the background and receive location updates, but does not allow you to accept incoming network connections in the background.
The correct way to send a message to a constantly moving iOS device is through Apple's push services, as in this case Apple takes care of maintaining connection with the device.
So the best way to implement your app is still to go with classic client-server architecture:
server in a fixed location
if you want to send a message to the device, server sends a push notification through Apple's server
your app registers to receive push notifications so it's able to display them anywhere.
As for location, depending on whether you want your friend to be able to see you at all times, or only with your permission, you can either
register your app to wake up when location changes significantly to notify server about its location OR
implement a push notification my friend wants to see your location! and give the user the ability to send or decline sending the location.
If you're not sure about implementing servers and push services, Apple makes it relatively easy, as you can buy $500 Mac mini and install $20 OS X Server to get some pre-implemented functionality.

Resources