Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 导入音频播放器包后无法运行颤振_Ios_Xcode_Flutter - Fatal编程技术网

Ios 导入音频播放器包后无法运行颤振

Ios 导入音频播放器包后无法运行颤振,ios,xcode,flutter,Ios,Xcode,Flutter,我从颤振软件包中导入了以下声音软件包 音频播放器:^0.12.1 它抛出错误,说我需要安装一些东西。根据错误消息,我运行了以下命令 brew安装cocoa 吊舱安装 安装已成功完成 在这之后,当我尝试运行我的应用程序时,它开始抛出错误。该应用程序只是一个无状态小部件,带有一个空MaterialApp()小部件。在我进行上述安装之前,它运行良好 我尝试删除AudioPlayer依赖项,但错误仍然存在。尝试重建并重新启动我的IDE没有帮助。请告诉我怎么了。我不明白为什么删除依赖项后错误仍然存在。如果

我从颤振软件包中导入了以下声音软件包

音频播放器:^0.12.1

它抛出错误,说我需要安装一些东西。根据错误消息,我运行了以下命令

brew安装cocoa

吊舱安装

安装已成功完成

在这之后,当我尝试运行我的应用程序时,它开始抛出错误。该应用程序只是一个无状态小部件,带有一个空MaterialApp()小部件。在我进行上述安装之前,它运行良好

我尝试删除AudioPlayer依赖项,但错误仍然存在。尝试重建并重新启动我的IDE没有帮助。请告诉我怎么了。我不明白为什么删除依赖项后错误仍然存在。如果有必要的话,我正在使用Mac电脑。请给我一些建议。谢谢

错误日志:

Launching lib/main.dart on iPhone X in debug mode...
Running pod install...
Running Xcode build...
Xcode build done.                                            1.9s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    === BUILD TARGET path_provider OF PROJECT Pods WITH CONFIGURATION Debug ===
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:5: error: use of undeclared identifier 'AVAudioSessionCategory'; did you mean 'AVAudioSessionCategoryRecord'?
        AVAudioSessionCategory category;
        ^~~~~~~~~~~~~~~~~~~~~~
        AVAudioSessionCategoryRecord
    In module 'AVFoundation' imported from /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:4:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk/System/Library/Frameworks/AVFoundation.framework/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:642:28: note: 'AVAudioSessionCategoryRecord' declared here
    AVF_EXPORT NSString *const AVAudioSessionCategoryRecord;
                               ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:27: error: expected ';' after expression
        AVAudioSessionCategory category;
                              ^
                              ;
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:28: error: use of undeclared identifier 'category'
        AVAudioSessionCategory category;
                               ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:234:9: error: use of undeclared identifier 'category'
            category = AVAudioSessionCategoryAmbient;
            ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:236:9: error: use of undeclared identifier 'category'
            category = AVAudioSessionCategoryPlayback;
            ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:239:34: error: use of undeclared identifier 'category'
                        setCategory: category
                                     ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:5: warning: expression result unused [-Wunused-value]
        AVAudioSessionCategory category;
        ^~~~~~~~~~~~~~~~~~~~~~
    1 warning and 6 errors generated.

Could not build the application for the simulator.
Error launching application on iPhone X.

我有一个解决办法,尽管我承认这不是最好的办法

我的猜测是,Xcode试图将其构建为一个通用应用程序而不是iOS应用程序时出现了一些错误,尽管我对Xcode的了解还不够,无法验证这一点(我主要是一名Android开发人员,在玩Flatter)。AVAudioSessionCategory不适用于MacOS…仅适用于iOS

在构建之后,我有与上面相同的错误。在AudioPlayerPlugin.m的第232行中,您将看到:

AVAudioSessionCategory category;
if (respectSilence) {
    category = AVAudioSessionCategoryAmbient;
} else {
    category = AVAudioSessionCategoryPlayback;
}
BOOL success = [[AVAudioSession sharedInstance]
                setCategory: category
                error:&error];
替换为:

BOOL success;
if (respectSilence) {
    success = [[AVAudioSession sharedInstance]
               setCategory: AVAudioSessionCategoryAmbient
               error:&error];
} else {
    success = [[AVAudioSession sharedInstance]
               setCategory: AVAudioSessionCategoryPlayback
               error:&error];
}

您的应用现在应该在iOS上运行。

您需要从项目的iOS部分删除pod文件夹。@MarianoZorrilla尝试删除Pods文件夹、Podfile和Podfile.lock。我看到“Running pod install…”之后,所有这些文件和文件夹都会重新出现,然后出现相同的错误。