iPhone 4S를 사용하여 AirPlay를 가지고 놀고 있는데 문제가 있습니다. Apple TV 2를 최신 버전으로 업데이트했습니다 (4.4.3 생각하니? 다른 방에 있는데 너무 게으르다.) Xcode 4.2 Build 4D199를 사용하는 동안 내 4S에 iOS 5.0이 있습니다. . 사용 가능한 두 번째 화면에서 그릴 시도 간단한 UIView 응용 프로그램을 썼습니다. 여기에 내가있는 viewDidLoad에있는 내용은 다음과 같습니다 디버그에있는 동안 나는 TV 출력을 사용하도록 설정하면 항상 충돌하지만 내가 TV 출력을 사용하도록 설정하면iOS 5+ AirPlay를 두 번째 화면으로 사용하는 방법
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:[[MPVolumeView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]];
NSLog(@"Registering for screen connect events...");
// Do any additional setup after loading the view, typically from a nib.
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(screenDidConnect:)
name:UIScreenDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(screenDidDisconnect:)
name:UIScreenDidDisconnectNotification
object:nil]; NSLog(@"There are %i connected screens.", ScreenCount);
if (ScreenCount > 1) {
self.secondWindow = [self myScreenInit:[[UIScreen screens] objectAtIndex:1]];
[self.secondWindow addSubview:[self createFullscreenViewForText:@"Second window" withSize:CGSizeMake(640, 480)]];
}
}
이 코드는 시뮬레이터에서 작동합니다. 시뮬레이터의 하드웨어 메뉴에서 TV를 활성화 한 후에 앱을 다시 시작해야합니다. 다시 시작하면 두 번째 화면에 두 번째 화면 UILabel이 표시됩니다. iPhone 4S에서는 왼쪽의 실행중인 작업 표시 줄에서 AirPlay 컨트롤을 사용하여 AirPlay를 사용하도록 설정 한 경우에만이 작업을 수행 할 수 있습니다. MPVolumeView 구성 요소를 내 Apple TV에 연결하는 데 사용하려고 시도한 뷰에 추가했음을 알 수 있습니다.
in app MPVolumeView를 사용하면 Apple TV와 성공적으로 연결을 끊을 수 있지만 다시 사용하고 Apple TV를 선택하여 다시 연결하면 UIScreenDidConnectNotification을 얻지 못합니다. 다시 미러링을 사용하도록 설정하면 두 번째 화면이 표시됩니다. AirPlay 컨트롤 중 하나에 연결하면 화면이 1 회로 만 표시되고 알림을받지 못합니다. 또한, 나는 미러링 가능마다 나는 콘솔 로그에서 볼이 깨진 것 같다 내가 다른 사람의 경험이 지역에 있었던 것을 알고 싶습니다
Could not find mapped image ColorOnGrayShadow_AirPlay.png
. 나는 새로운 것들을 배우면서 주위를 돌아 다니며이 포스트를 업데이트 할 것입니다.
나는 MPVolumeView가 다른 화면을 제공하지와 동일한 문제에 봉착했습니다. 두 번째 디스플레이에 콘텐츠를 가져 오는 동안 문제가 발생했지만 창 개체를 유지하지 않았기 때문에 문제가 발생했습니다. 그래도이 작업을 수행하려면 미러링을 사용하지 않아도 좋습니다. – Jeff
안녕 절벽 - 어떻게 다른 화면에서 하나의 화면을 제어하는 아이디어? 나는 그것을하는 방법을 이해할 수 없다. 감사! – TommyG
AirPlay를 통해 두 번째 화면을 제어하려는 경우 AirPlay의 API를 사용하여 두 번째 화면에 액세스해야합니다. 하나에 대한 참조가 있으면 그 위에 원하는 것을 그릴 수 있습니다. – Cliff