Remote Access a PhoneGap App - ios

I wanted to make an application for the iPad that will be controlled from an iPhone-app. Is there a possibility to access the PhoneGap-App on the iPhone?
I don't want to use an external server because the app should run offline in an Ad-Hoc network.
First I thought of creating a local webserver on the iPad, but I couldn't find anything PhoneGap related. Any Idea?

You were probably on the right track with the web server idea.
I am not sure how well the various solutions are supported in PhoneGap, but I would think you could use some sort of WebSockets implementation for the bi-directional communication between the iPhone and iPad apps.

Related

Can iOS apps communicate via sockets?

I'm going to develop few apps for iOS. Can they communicate to each other via sockets? Let's say one app runs as server (even in background mode) and another as client connects to server app and perform some communication. Does it violate any App Store rules? Any available IPC in iOS if my idea is not working for some reason?
Of course you can and it doesn't violate any rules.
Just just the CoreFoundation libraries.
There's no point in me describing it to you if it already has been all written in the official Apple documentation:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/UsingSocketsandSocketStreams.html
You can find here examples, all approaches and things you can and cannot do.
EDIT:
You didn't make that clear but it seems like you wanted the apps to run on the same device. You can do that but that would mean that one app has to run in background, and to do that you need some kind of hack (for example: background updating location mode ON) and that won't get past apple store. You need a very good reason to have your app ran in background (music in background, update location in background for fitness apps etc.)
Besides, it's a duplicate question:
iOS - Is it possible to communicate between apps via localhost?
As long as your apps are in the same app group, then yes, socket IPC is allowed. If not, then no. Sockets map to file descriptors (Berkeley sockets), and these files are sandboxed to the app or app group. More info: http://ddeville.me/2015/02/interprocess-communication-on-ios-with-berkeley-sockets

iOS: access company internal webapp from native Safari

We have an existing internal web app called http://sexywebapp
The goal is to enable seamless remote access on employee devices to SexyWebApp.
Currently we target native Safari on iOS 8.1+/Android 4.4+.
While we've been able to use Citrix Receiver to get folks using SexyWebApp via Chrome/IE on top of XenApps, it's really clunky. Forcing desktop browsers onto iPhones just isn't going to fly.
Ideally there's a way we could go into iPhone's native Safari and navigate to http://sexywebapp just like we can when physically in the office.
It seems like if we set up a standard VPN this might be possible - any thoughts?
Thanks!
Yes it's certainly possible. If you're looking for a Citrix way of doing this then look at XenMobile and the Worx suite of apps. Citrix WorxWeb is a native browser for your iOS and Android devices. However it uses a micro-VPN to connect into your data-center, allowing you to access internal company web sites.

iOS - Screen sharing in Perfecto Mobile

We were exploring various test suites for mobile automated testing and ran into this company called Perfecto Mobile. One of the features that blew me away was they are able to (without jailbreaking) effectively perform a "Remote desktop" on a physical iPad.
So, the iPad's screen is mirrored within a web application, it can register touch / swipe events on the web app and perform them on the device. The only relevant technical detail I have is that all this is being performed using commands sent over the USB cable.
I'm really curious as to how this is implemented and details on relevant Private APIs if any.
Thanks,
Teja
I'm not familiar with PerfectoMobile, but I can give you a few pointers on how this can be accomplished:
For the mirroring, one way would be to look at using AirPlay, the APIs are pretty well documented, but not to do what we're talking about which would require some serious reverse engineering, but it's definitely possible, these guys have done it. A different approach would be to run a background app that would periodically take snapshots of the main screen, and send them over a socket connection to a client. You could do this as a VNC server, and to incorporate the remote view in a web app, you could use noVNC. As far using a USB connection, in the case of the background app talking to a client over TCP, you could to a port forward.
To actually perform on the device the touch events sent from your remote viewer, most people have been using the GSEvent group of functions from the GraphicsServices private framework without needing to jailbreak the device. Again, a background app would receive over a socket an instruction such as "Tap there", instantiate the GSEvent, and inject it so it gets processed in the run loop of the most front app.
These few possibilities, at least, have been implemented successfully in different iOS apps up to iOS 6.1 (iOS7 is a different animal). You won't find any such app in the App Store, since Apple clearly prohibits the use of private frameworks in 3rd party apps, instead people deploy them in-house using Enterprise and ad-hoc provisioning profile. On Android however, there's VMLite available in the Play Store.
If you looking to share screen from ios / android, check out skreen.me. They have sample apps you can try out, also they provide libs for mobile app integration.

Is there a server hosted version of the iOS simulator? Or: How to use an iOS app without Mac and iOS devices

I know this question sounds silly at first glance, but how could customers and testers who do not have an Apple iPad or iPhone to use and test my app actually "run" the app?
Is there something like a web hosted service, which would allow them to test it in a web browser instead on a real device?
No, there is no official native full-featured iOS simulator for the web. But if you create one, please tell me.
Another option could be a service like app.io.
I believe they have a free tier that would allow you to run your app on the web on a limited basis.

Blackberry share application

How to make support for both App World and the application being embedded?
What is the difference between OTA and App World?
If I will build applications for the web and will put a link to the Internet (eg via apache)
It will be OTA ?
How much is the official service OTA or App World?
Please give references for which I can read this issue.
OTA means "Over The Air". There are several ways of getting the app code installed on a BB device. One way is via USB cable + BB DesktopManager app, for instance. When you are talking about OTA and App World as if they are different things - this is not correct. The fact is to get an app from the App World you'll have to use OTA implicitly (you'll start the BB browser, it will make a remote request to RIM server, etc. - this means OTA is used).
I believe there is no difference on how AppWorld and your custom server would do this.
RIM provides a video tutorial on this:
BlackBerry® Smartphone Over The Air Download By User

Resources