iphoneuniversal应用程序。电影播放器框架问题

iphoneuniversal应用程序。电影播放器框架问题,iphone,ipad,mpmovieplayercontroller,movie,universal-binary,Iphone,Ipad,Mpmovieplayercontroller,Movie,Universal Binary,我有一个基于3.0 iPhone OS SDK的应用程序 其中一项任务是播放视频(我使用MPMoviePlayerController执行此任务) 现在我尝试让通用应用程序同时在3.0和3.2操作系统上运行 我完成了中描述的所有步骤:升级iPad的当前目标;使用以下命令对符号进行运行时检查 [[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] 功能。但是,当我使用OS 3.1.3在iPhone设备

我有一个基于3.0 iPhone OS SDK的应用程序 其中一项任务是播放视频(我使用MPMoviePlayerController执行此任务) 现在我尝试让通用应用程序同时在3.0和3.2操作系统上运行 我完成了中描述的所有步骤:升级iPad的当前目标;使用以下命令对符号进行运行时检查

[[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)]
功能。但是,当我使用OS 3.1.3在iPhone设备上启动应用程序时,我的应用程序会崩溃,并出现下一个日志:

Tue May 25 18:00:28 unknown SpringBoard[24] <Notice>: MultitouchHID(208b30) uilock state: 1 -> 0
Tue May 25 18:00:29 unknown SpringBoard[24] <Notice>: MultitouchHID(292580) device bootloaded
Tue May 25 18:00:34 unknown UIKitApplication:...[0xaa0f][1517] <Notice>: dyld: Symbol not found: _MPMoviePlayerWillEnterFullscreenNotification
Tue May 25 18:00:34 unknown UIKitApplication:...[0xaa0f][1517] <Notice>:   Referenced from: /var/mobile/Applications/876EA35E-5756-436B-A9E2-5481D4D62050/....app/...
Tue May 25 18:00:34 unknown UIKitApplication:...[0xaa0f][1517] <Notice>:   Expected in: /System/Library/Frameworks/MediaPlayer.framework/MediaPlayer
Tue May 25 18:00:35 unknown kernel[0] <Debug>: launchd[1517] Builtin profile: container (seatbelt)
Tue May 25 18:00:35 unknown kernel[0] <Debug>: launchd[1517] Container: /private/var/mobile/Applications/876EA35E-5756-436B-A9E2-5481D4D62050 (seatbelt)
Tue May 25 18:00:35 unknown ReportCrash[1518] <Notice>: Formulating crash report for process cnetmobile[1517]
Tue May 25 18:00:36 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:...[0xaa0f]) Job appears to have crashed: Trace/BPT trap
Tue May 25 18:00:36 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:...[0xaa0f]) Throttling respawn: Will start in 2147483646 seconds
Tue May 25 18:00:36 unknown SpringBoard[24] <Warning>: Application '...' exited abnormally with signal 5: Trace/BPT trap
Tue May 25 18:00:36 unknown ReportCrash[1518] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/..._2010-05-25-180034_...-iPhone.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0
Tue May 25 18:01:36 unknown SpringBoard[24] <Notice>: MultitouchHID(208b30) uilock state: 0 -> 1
5月25日星期二18:00:28未知跳板[24]:多点触摸屏(208b30)uilock状态:1->0
5月25日星期二18:00:29未知跳板[24]:多点触控HID(292580)设备已启动
5月25日星期二18:00:34未知UIKIT应用程序:…[0xaa0f][1517]:dyld:未找到符号:\u MPMoviePlayerWirelenterFullScreenNotification
5月25日星期二18:00:34未知UIKIT应用程序:…[0xaa0f][1517]:引用自:/var/mobile/Applications/876EA35E-5756-436B-A9E2-5481D4D62050/…app/。。。
5月25日星期二18:00:34未知UIKIT应用程序:…[0xaa0f][1517]:预期位于:/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer
5月25日星期二18:00:35未知内核[0]:启动[1517]内置配置文件:容器(安全带)
5月25日星期二18:00:35未知内核[0]:启动[1517]容器:/private/var/mobile/Applications/876EA35E-5756-436B-A9E2-5481D4D62050(安全带)
5月25日星期二18:00:35未知报告崩溃[1518]:为进程cnetmobile制定崩溃报告[1517]
5月25日星期二18:00:36未知com.apple.launchd[1]:(UIKitApplication:…[0xaa0f])作业似乎已崩溃:跟踪/BPT陷阱
5月25日星期二18:00:36未知com.apple.launchd[1]:(UIKitApplication:…[0xaa0f])节流重新启动:将在2147483646秒后启动
5月25日星期二18:00:36未知跳板[24]:应用程序“…”异常退出,信号为5:Trace/BPT陷阱
5月25日星期二18:00:36未知报告崩溃[1518]:已将crashreport保存到/var/mobile/Library/Logs/CrashReporter/…\u 2010-05-25-180034\u…-iPhone.plist,使用uid:0 gid:0,synthetic\u euid:501 egid:0
5月25日星期二18:01:36未知跳板[24]:多点触控HID(208b30)uilock状态:0->1
如您所见,错误为“未找到符号:\ MPMoviePlayerWillEnterFullscreenNotification”。此符号在从iPhone OS 3.2开始的MediaPlayer.framework中可用


那么,我做错了什么?要使通用应用程序在操作系统3.2(具有新的可用功能)和旧操作系统(具有其功能)上正常工作,我应该做些什么?

该常量的内容是字符串
@“MPMoviePlayerWillEnterFullscreenNotification”
,因此您可以使用该字符串代替该常量

或者,你可以

  • 用于在运行时获取符号;或
  • 使该符号弱链接(=自动执行步骤1)

  • 该常量的内容是字符串
    @“MPMoviePlayerWillEnterFullscreenNotification”
    ,因此您可以使用该字符串代替该常量

    或者,你可以

  • 用于在运行时获取符号;或
  • 使该符号弱链接(=自动执行步骤1)

  • 未添加MediaPlay.framework。

    未添加MediaPlay.framework。

    谢谢。我使用第二种方法。在目标的常规设置中设置链接库-MediaPlayer.framework的“弱”类型。谢谢。我使用第二种方法。在目标的常规设置中设置链接库-MediaPlayer.framework的“弱”类型。