2009-02-28 2 views
2

На новую установку Xcode 3.1.2, я пытаюсь использовать iPhone MoviePlayer, как показано в примере кода на http://developer.apple.com/iphone/library/codinghowtos/AudioAndVideo/index.html#INITIATE_VIDEO_PLAYBACK_IN_MY_CODELinker ошибка при попытке использовать MPMoviePlayer

Однако Xcode сообщает следующие ошибки компоновщика при Я пытаюсь построить-n-go:

 
Building target “EOY” of project “EOY” with configuration “Debug” — (2 errors) 
     cd /Users/ed/dev/EOY 
    setenv MACOSX_DEPLOYMENT_TARGET 10.5 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.0 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk -L/Users/ed/dev/EOY/build/Debug-iphonesimulator -F/Users/ed/dev/EOY/build/Debug-iphonesimulator -filelist /Users/ed/dev/EOY/build/EOY.build/Debug-iphonesimulator/EOY.build/Objects-normal/i386/EOY.LinkFileList -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -o /Users/ed/dev/EOY/build/Debug-iphonesimulator/EOY.app/EOY 
Undefined symbols: 
    ".objc_class_name_MPMoviePlayerController", referenced from: 
     [email protected][email protected][email protected] in MediaSupport.o 
    "_MPMoviePlayerPlaybackDidFinishNotification", referenced from: 
     _MPMoviePlayerPlaybackDidFinishNotification$non_lazy_ptr in MediaSupport.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 
      ".objc_class_name_MPMoviePlayerController", referenced from: 
       [email protected][email protected][email protected] in MediaSupport.o 
      "_MPMoviePlayerPlaybackDidFinishNotification", referenced from: 
       _MPMoviePlayerPlaybackDidFinishNotification$non_lazy_ptr in MediaSupport.o 
     ld: symbol(s) not found 
     collect2: ld returned 1 exit status 
Build failed (2 errors)

ответ

2

это право. Другой способ сделать это - добавить MediaPlayer в Project Target, выбрав TARGETS-> Build Phases-> Link Binary с библиотеками (здесь добавьте MediaPlayer)

0

Обнаружена проблема. Я не читал все документы, но есть много из них ...

Во всяком случае, я это исправил перетаскивание каталога

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/System/Library/Frameworks/MediaPlayer.framework/

в папку Frameworks в XCode и нажав кнопку OK в диалоговом окне импорта.

1

Да, если ваш код вызывает фреймворк, вы должны добавить эту инфраструктуру к своей цели и связать ее с ней.

Убедитесь, что фреймворк «Относительно текущего SDK» (выберите фреймворк> Получить информацию> вкладка «Общие»), чтобы при построении для устройства он связывался с версией устройства, а не с симулятором.

Смежные вопросы