AirPlay Mirroring iPhone to Mac OS / using UIWebView + AirPlay - ios

I need to live-demo a Mobile Safari browser app (iOS 5, iPhone 4S) on my Macbook and was wondering the best way to do this?
One way I thought might be possible would be using AirPlay Mirroring, but there doesn't seem to be any Mac OS apps capable of showing my iPhone screen mirrored.
I am an (beginner) iOS developer and wondered if there was anyway I could knock up a basic app with a UIWebView in it to somehow stream the contents of the web page and my interactions with it to my Mac.
Any thoughts?
EDIT: Yes I know I could use the iPhone Simulator, but I need to interact with it on the handset using the mobile phone network.

The situation has changed since this was asked.
AirServer (AirServerApp.com) and Reflection (ReflectionApp.com) both support AirPlay mirroring. Here's an article comparing them:
http://www.macstories.net/reviews/mirroring-multiple-ios-devices-to-a-mac-comparing-airserver-and-reflection/

Since your device (iPhone 4s) supports video mirroring via AirPlay, then you should be able to use AirServer to enable mirroring to your Mac.
Update: As pointed out by Marc Surman, AirServer does not support mirroring, rendering this answer incorrect. Thanks for playing.

Mirroring uses FairPlay encryption, which is why AirServer and similar applications can't do mirroring.
You CAN, however, fake this using AirplayKit:
https://github.com/rothacr/AirplayKit
The iOS demo in that repo actually does a simple mirror by sending an image of your screen to the airplay device using a timer. It would probably work just fine for a demo, and should work with AirServer.

Related

iOS app to capture video from screen

Is there a chance of possibility to create an iOS application which would record video from screen and save it on device?
I'm talking about recording everything that happens on screen not only within bounds of this application.
The app works in background and captures everything.
I'm playing a game - it is recording, I'm watching video - it is recording.
I'm 99 percent sure it's impossible, but maybe there's something I'm unaware of.
It is impossible without using the private API.
No, it is not possible.
You can try to install AirServer application on your MAC, then turn on mirroring on your iOS device and stream your screen to your MAC and use 3rd party applications to capture your screen on the MAC

ipad airplay mirroring to multiple airplay receivers (specifically for videos/pictures)

my client asks me to develop some app for real-estate presentation which has the following features:
1. The seller can have their ipads connect to the projector wireless over wifi.
2. The seller can broadcast the screenshot of some other ipads to the customers's ipads.
For feature 1, I can have a apple TV and airplay mirroring the ipad screen to it, then have some HDMI-VGA adapter for the connection with the projector.
For feature 2, I can also install airfloat to make the ipad an airplay receiver. I can also airplay mirroring the screen of the seller's ipad to the customer's ipad.
As for as I know, it seems to be no way to airplay mirroring the screenshot of one ipad to multiple ipad airplay receivers.
So I'm wondering how can I airplay mirroring one screen to many ipad airplay receivers?
How about you use airview or airplay receiver like in this link? It seen like we need to solve some problem to use.
https://github.com/nto/AirView
Another one is you can use this SDK. It has screen sharing and gesture sharing from one device to another device. It seen quite good.
http://www.showkit.com/
Our rPlay airplay mirroring software implemented the features you asked. rPlay acts as Apple TV, you can mirror ios devices to it, rPlay can also duplicate displays to other rPlay devices, the result is one ios device sends its screens to multiple devices.
We are also develop viewers for mobile devices to receive rPlay displays.
Check our forums at http://www.vmlite.com for more info

Airplay with photos

I looked up the official documents for airplay, found the airplay can only support audio and video. But beside that, the native photos app can airplay photos. So is there any methods to airplay photos? BTW, I know the "mirroring" mode can do this job: I can detect 2 screens in my code and present a different screen to the iOS device's in this mode. However, the "mirroring" mode only exists in iPad 2, new iPad and iPhone 4S...
I found solution here
http://livevision.us/wordpress/2011/02/16/airplay-without-private-api/
and
How to find the IP-address of the active AirPlay device?
I could send some UIImage to apple TV.
but I don't know if apple allows using these Unoffical Airplay protocol.
It is documented on Apple's site. When the user enables airplay mirroring, your app will find two UIScreen:s. It's quite simple.
Here's a sample app http://developer.apple.com/library/ios/samplecode/GLAirplay/Introduction/Intro.html

Detecting iOS AirPlay screen mirroring capabilities

I've developed a user experience in my iOS app for displaying a different view on an external screen connected via AirPlay screen mirroring or HDMI out. I have a setting to enable/disable this feature, allowing the user to choose between this mode and true mirroring (i.e. same experience on both screens).
Since many iOS devices don't even support external displays (iPhone 3GS and earlier, iPod touches) and some only support HDMI out (iPhone 4, iPad 1, iPad 2 with iOS4), I'd like to tailor the settings UI for each category of device.
I know it's good practice to detect capabilities whenever possible and not to avoid checking the version of the device itself. However, I haven't found anything online about detecting AirPlay support, just how to code for it.
Is it possible to detect AirPlay/HDMI support in the SDK?
(Apple's documentation on developing for external screens:
http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingWindows/CreatingWindows.html)
No, not directly and in a summary fashion.
I think you would probably be best off detecting the device version and using that as the basis of your UI.
If you really believe that is bad practice, I suggest you explore Erica Sadun's UIDevice extensions - you might be able to find in there the code necessary to query enough specific capabilities to create an abstraction that would let you know if a device is AirPlay/HDMI capable. If you do that, I hope you share it!
UIDevice-extension: https://github.com/erica/uidevice-extension
As a side note, don't forget about the VGA adapter. I have tested my app with it at 1080p and it works/looks as good as the HDMI adapter, which was a big surprise to me.

AirPlay Mirroring on iPhone 4

My app uses hardware features of the phone not available on the simulator and i'd like to be able to demo the app for my client via screen sharing. Using AirServer, i can AirPlay to my Mac, but my iPhone 4 doesn't support video mirroring out of the box. Is there any magic that would let me do this? Since this is just for a demo, undocumented APIs are encouraged.
Thanks!
The official way to support external screens is simply to call
[UIScreen screens]
to get a reference to available screens including the external screen. You could grap that feed with a bit of hardware for an awesome screencast.
The process is mentioned in this thread connecting iPad to external monitor. It works equally well on iPhone and iPod. Apples official UIScreen documentation is available here

Resources