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.
Related
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 2 years ago.
Improve this question
I'm trying to implement a mobile phone app that raises a flag if two users come close to each other in the physical world.
I'm looking for a solution that does not require the apps to be actively open on the users phone to be able to make this determination and raise the flag.
Is this possible? Perhaps by bluetooth, or perhaps by using GPS & time data uploaded from each phone and have server determine if the users were sufficiently close together?
I'm looking for accuracy within <20ft.
I don't think you can do this without OS support. Apple's Core Location framework lets you set up an iPhone to listen for iBeacons and wake up the phone and launch your app in the background if it detects one, but you can't make an iPhone broadcast an iBeacon signal when the phone is locked and your app is suspended. Apple can, but you can't.
I believe the underlying BLE framework that iBeacons are based on have the same restrictions.
Apple has worked with public health officials to do what you describe to track COVID19 exposure. You install the app on your phone and it uses BLE to both broadcast an ID and listen for other users running the app, and records other app users that it sees. If somebody comes down with COVID, there is a way to send notifications to everybody who was in close proximity to the infected person.
EDIT:
It likely would be possible to do this using recorded GPS data and a server, but it would be a battery, network, and computing hog. (I guess it would not meet your requirements since the app would have to be active in the background and the GPS would have to be powered up at all times.) The GPS takes a lot of power, and unless you were running the GPS constantly you'd miss encounters at your desired < 20ft proximity. If you did collect constant GPS data you'd have to upload it all and then do a BUNCH of batch processing to find proximity hits. You'd want to do a first pass where you use a crude computation with a fairly large distance threshold to throw away data where no other devices were anywhere near, and then a second pass on a dramatically smaller data-set. EVEN with that approach it would mean a LOT of number-crunching.
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
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.
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.
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 make youtube app for iphone. When my app state in background i want to get notification.
How to receive the notice on the come messages from youtube through ios push notification service? tnx!
Does Youtube provide push notifications? You'll have to figure out how they register devices, and use the same method in your own app. Alternatively, you'll want to set up your own push server that scrapes Youtube or uses an API to interface with Youtube, so that it knows when to send push messages.
well you would need to use the JSON feed they have to get the info (ping it every 10/30 minutes via cron then if it sees a new video get it to send the message, if you search "advance ios apns" you will get a site/script that will send the notifications for you (to the apple devices)