2011-03-21 43 views
1

我正在開發一個iPhone應用程序,我想支持Air Play。我的應用程序應該能夠在iOS 4.1以上的iPhone設備上運行。所以,我在我的應用程序的目標設置中選擇了iOS 4.3作爲Base SDK和4.1作爲部署目標。 現在,我想添加在MPMoviePlayerController上設置標誌allowedAirPlay的代碼。這僅在iOS 4.3 SDK中受支持。 應該是什麼的XCode應用目標設置,應該如何代碼寫入使允許AirPlay支持和iOS 4.2,iOS4.3

  1. 也編譯在未安裝的iOS 4.3 SDK系統。
  2. 它可以在所有iPhone設備上正常運行,iOS> 4.1
  3. 在iOS 4.3的iPhone設備中,啓用Air Play功能。

回答

2

你需要通過聲明一個類的方法,在您的實現文件的頂部沉默編譯器警告:

@interface MPMoviePlayerController(MEKAirPlay) 
- (void)setAllowsAirPlay:(BOOL)supports; 
@end 

然後,檢查方法實際上是實現調用前:

if ([player respondsToSelector:@selector(setAllowsAirPlay:)]) { 
    [player setAllowsAirPlay:YES]; 
} 

你也可以換一個預處理器#如果類定義時停止跟iOS 4.3 SDK編譯它被人看見,雖然我還沒有做到這一點。我沒有安裝早期的SDK,所以我不能真正測試它。

0

我已經做了如下:

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_4_2 
     mMoviePlayerController.allowsAirPlay = YES;   
#endif 

它工作正常。可以對這兩個答案中的一個進行修改。