尝试使用构建模式运行iOS风格时遇到问题
/Labs/Workspace/Flutter/camp-flutter/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error:
'shared_preferences/SharedPreferencesPlugin.h' file not found
#import <shared_preferences/SharedPreferencesPlugin.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.5 18F132, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
[✓] iOS tools - develop for iOS devices
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.36.1)
[✓] Connected device (1 available)
• No issues found!
我们正在使用用于iOS构建的风格和方案,并使用以下命令来运行应用程序
flutter run --flavor abcd --target lib/main/abcd_main.dart
答案 0 :(得分:1)
我认为,可以通过两种方式解决此问题。他们在下面。
我检查了一个项目,发现SharedPreferencesPlugin.h具有以下代码。
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import <Flutter/Flutter.h>
@interface FLTSharedPreferencesPlugin : NSObject <FlutterPlugin>
@end
现在,您可能有两种方法可以解决此问题。 方案A:您使用上面的代码手动创建文件。它不包含任何特定于版本的信息。
计划B:创建另一个虚拟项目,在其中添加共享的首选项。并将文件(或文件夹结构)从虚拟项目复制到您的项目。
注意:由于我不知道结构解决方案,因此请采用此选项作为解决方法。
答案 1 :(得分:0)
嗯,假设我们可以通过将flutter从1.2更改为1.5来运行构建样式,那会不会更容易?
您使用一个构建委托,您的构建配置将使用一个新的目标标志,该标志通过dart文件指向您的新构建样式。.请参阅我的中等职位以及其他一些在ti上谈论ti的人...
唯一的麻烦是您偶尔会擦拭模拟器或设备,因为它具有较旧的构建风格,但通常可以使用
答案 2 :(得分:0)
我刚刚尝试了调试和发布版本,此解决方法有一些规则:
文件夹以添加.h文件
在模拟器上调试=> ios/Debug-iphonesimulator
在iOS上调试=>'ios / Debug-iphoneos'
在iOS上发布=>'ios / Release-iphoneos'
顺便说一句,使用此变通办法,我可以使用许多第3个库以所有模式构建项目。