文章目录
- 一、 Error installing libwebp
- 二、 SingleChildScrollView嵌套ListView等可滑动组件时产生滑动冲突
- 三、 ld: in /Users/max/Documents/GitHub/music_grading_app/ios/Pods/WechatOpenSDK_Fuck/OpenSDK1.9.2/libWeChatSDK.a(WechatAuthSDK.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/max/Documents/GitHub/music_grading_app/ios/Pods/WechatOpenSDK_Fuck/OpenSDK1.9.2/libWeChatSDK.a' for architecture arm64
- 四、Execution failed for task ':app:compileFlutterBuildDebug'.
- 五、Execution failed for task ':app:compileDebugKotlin'.
- 六、 GetX: BottomSheet跳转到同一页面时首次可以,第二次点击无效
- 七、 安卓模式下fluwx,调起微信支付失败
- 八、Execution failed for task ':wakelock:compileDebugKotlin'.
- 九、存储到本地的文件(图片、视频等文件),调用时找不到
- 十、循环Map时,map.values.map和map.values.forEach的区别
- 十一、Container未设置color时,添加GestureDetector时无响应
一、 Error installing libwebp
1. 问题原因
无法正常连接libwebp库
2. 解决方案
a. 终端输入pod repo查看cocoapods在本机的地址
b. 进入该文件地址/Speces/1/9/2/libwebp
c. 进入具体的报错版本
例如我这里的1.2.0,则修改里面的json文件,将Source改为https://github.com/webmproject/libwebp.git
d. 执行pod install
二、 SingleChildScrollView嵌套ListView等可滑动组件时产生滑动冲突
1. 两个可滑动组件产生滑动冲突
2. 解决方案
禁用内部可滑动组件,保留外部可滑动组件。修改ListView的physics属性为physics: new NeverScrollableScrollPhysics()
三、 ld: in /Users/max/Documents/GitHub/music_grading_app/ios/Pods/WechatOpenSDK_Fuck/OpenSDK1.9.2/libWeChatSDK.a(WechatAuthSDK.o), building for iOS Simulator, but linking in object file built for iOS, file ‘/Users/max/Documents/GitHub/music_grading_app/ios/Pods/WechatOpenSDK_Fuck/OpenSDK1.9.2/libWeChatSDK.a’ for architecture arm64
1. xcode12弃用了arm64,但是有些第三方还在使用
2. 解决方案
(1) 使用真机
(2)排除arm64体系
修改如下:在Excluded Architectures
内添加arm64
。注意⚠️:打包或真机运行时需要去掉,否则会报错。
四、Execution failed for task ‘:app:compileFlutterBuildDebug’.
更新flutter版本
五、Execution failed for task ‘:app:compileDebugKotlin’.
1. 问题原因
kotlin版本不对应或不是最新版本。
2. 解决方案
(1) Android Studio—Preferences—Languages & Frameworks—Kotlin—更新到最新版
(2) 记住上一步的版本号,去android/build.gradle内修改buildscript
buildscript {
ext.kotlin_version = '1.4.32' /// 此处修改成上一步的版本号
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
六、 GetX: BottomSheet跳转到同一页面时首次可以,第二次点击无效
1. 问题原因
因为使用GetX
框架,在BottomSheet上使用Get.to
方法跳转页面时,会默认为同一页面,默认会阻止多次此种操作。
2. 解决方案
只需在将preventDuplicates
设置为false
即可
Get.to(()=>Page(), preventDuplicates: false);
七、 安卓模式下fluwx,调起微信支付失败
1. 问题原因
debug模式下使用的签名是默认的,未在微信后台配置。改成和release相同的即可
2. 解决方案
只需在将android/app/build.gradle
内修改如下
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
/// 添加以下部分即可
debug {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
八、Execution failed for task ‘:wakelock:compileDebugKotlin’.
执行flutter clean后操作
九、存储到本地的文件(图片、视频等文件),调用时找不到
1. IOS端
例如存储时地址为/var/mobile/Containers/Data/Application/加密乱码/Documents/camera/videos/REC_9D448AD8-D726-4F9A-AF7C-E672043B88DC.mp4
但是直接调用这个地址会报错,因为文中 **加密乱码
**会随机变换,所以要path_provider
重新调用项目地址进行拼接。
2. Android端
暂时无这种问题。
十、循环Map时,map.values.map和map.values.forEach的区别
1. Map.values.map
-
具有惰性,只有它本身被迭代时,才会应用
-
转换后的元素不会缓存
2. Map.values.forEach
- 类似于for循环
十一、Container未设置color时,添加GestureDetector时无响应
1. 给Contianer添加color
2. GestureDetector修改behavior属性
- deferToChild: 只有当前容器中的child被点击时才会响应点击事件**(默认)**。
- opaque:点击整个区域都会响应点击事件,但是点击事件不可穿透向下传递,注释翻译:阻止视觉上位于其后方的目标接收事件。
- translucent:同样是点击整个区域都会响应点击事件,和opaque的区别是点击事件是否可以向下传递,注释翻译:半透明目标既可以在其范围内接受事件,也可以允许视觉上位于其后方的目标接收事件。