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