无法使用MobileVLCKit(XCode)

时间:2016-02-02 01:35:45

标签: ios objective-c xcode tvos libvlc

我正在尝试使用MobileVLCKit为iOS和tvOS制作单个视图应用程序。

  1. 我从git下载了文件。
  2. 我使用 -f 键运行 ./ buildMobileVLCKit.sh ,并获得了一个框架(“MobileVLCKit.framework”文件夹,其中包含MobileVLCKit binaty和Headers子文件夹)。
  3. 我暂时将框架放入〜/ Desktop / FrameworkFolder /
  4. 我在XCode中创建了新项目,选择了“文件 - >添加文件”并找到了框架。
  5. 在项目选项中添加了框架搜索路径(〜/ Desktop / FrameworkFolder /,递归)。
  6. #import 添加到 ViewController.h 文件中。
  7. VLCMediaPlayer * vPlayer = [[VLCMediaPlayer alloc] init]; 添加到 ViewController.m - > viewDidLoad 方法。
  8. 这是我的二进制文件:

    imac:~ vlad$ file ~/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit 
    /Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit: Mach-O universal binary with 5 architectures
    /Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit (for architecture armv7):   current ar archive random library
    /Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit (for architecture armv7s):  current ar archive random library
    /Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit (for architecture i386):    current ar archive random library
    /Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit (for architecture x86_64):  current ar archive random library
    /Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit (for architecture arm64):   current ar archive random library
    

    当我尝试构建并运行项目时,我遇到两种类型的错误:

    1. 如果我正在使用AppleTV项目:

      ld:在/Users/vlad/Desktop/FrameworkFolder/MobileVLCKit.framework/MobileVLCKit(VLCMediaPlayer.o)中,为tvOS构建,但链接在为iOS构建的目标文件中,用于架构arm64 < / p>

      clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

    2. 如果我正在使用iOS项目:

    3. Undefined symbols for architecture x86_64:
        "_AVAudioSessionCategoryPlayback", referenced from:
            _Start in MobileVLCKit(audiounit_ios.o)
            _Pause in MobileVLCKit(audiounit_ios.o)
        "_AVAudioSessionModeMoviePlayback", referenced from:
            _Start in MobileVLCKit(audiounit_ios.o)
            _Pause in MobileVLCKit(audiounit_ios.o)
        "_AudioComponentFindNext", referenced from:
            _Start in MobileVLCKit(audiounit_ios.o)
        "_AudioComponentInstanceDispose", referenced from:
            _Stop in MobileVLCKit(audiounit_ios.o)
      

      - 在开始时,并且:

      ld: symbol(s) not found for architecture x86_64
      
      clang: error: linker command failed with exit code 1 (use -v to see invocation)
      Showing first 200 notices only
      

      - 在输出结束时。和155之间的关键错误。

      我也试过使用预先编译的框架,结果相同。

      问题是:

      1. 我做错了什么?
      2. 如何成功解决此问题 建立并运行项目?
      3. 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  1. ld和clang错误的原因是框架和库已经构建错误。
  2. 使用iOS项目时出现多个错误的原因是未包含所需的系统框架。
  3. 我使用XCode构建了静态库,问题已经解决了!