我有一个rust项目。把它编译成.所以对于android,我可以用android运行它。我还为iOS生成了.a文件,并使用了该答案的说明,但它引发了以下错误:Semantic Issue (Xcode): Use of undeclared identifier 'LibStackmatePlugin' /Users/mohitsingh/Desktop/myapp/ios/Runner/GeneratedPluginRegistrant.m:17:3
。
GeneratedPluginRegistration.m如下所示:
//
// Generated file. Do not edit.
//
// clang-format off
#import "GeneratedPluginRegistrant.h"
#if __has_include(<libstackmate/LibStackmatePlugin.h>)
#import <libstackmate/LibStackmatePlugin.h>
#else
@import libstackmate;
#endif
@implementation GeneratedPluginRegistrant
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
[LibStackmatePlugin registerWithRegistrar:[registry registrarForPlugin:@"LibStackmatePlugin"]];
}
@end
还有什么需要做的吗?
问题出在我的pubspec.yaml
文件上。它将插件定义为
android:
package: com.example.libstackmate
pluginClass: LibstackmatePlugin
ios:
pluginClass: LibstackmatePlugin
但在ios/app中,插件被定义为LibStackmatePlugin。由于这个名称不匹配,我得到了这个错误。通过更新pubspec.yaml
中的ios pluginClass名称,解决了该错误。