喜歡新事物的下場….flutter_rror (Xcode): DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead

只能怪自已手賤,愛在第一時間升級新系統及開發工具版本的下場….踩雷踩不停啊
Error (Xcode): DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead

解bug,在podfile下,post_install do |installer|內容更改成以下即可。
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
xcconfig_path = config.base_configuration_reference.real_path
xcconfig = File.read(xcconfig_path)
xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, “TOOLCHAIN_DIR”)
File.open(xcconfig_path, “w”) { |file| file << xcconfig_mod } end end end installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end

Flutter編譯成web佈署顯示空白問題解決

flutter除了可以編譯成ios及android外,無痛編譯成web也是令人愈來愈喜歡它的原因之一,但開開心心產出web資料夾,
放到網站確一片空白….google了數10篇文章….沒有一篇講到重點。

只有一部印度阿三的yt影片有提到….很簡單的地方,真的會搞死人。
1.打開web資料夾下的index.html
2.找到 base href 把網站目前存放的路徑填上。
就解決了….ooxx。

flutter使用NFC完整範例

在pubspec.yaml文件中,加入nfc插件:
dependencies:
nfc: ^1.0.0

創建一個新的Flutter應用程式,並在main.dart文件中添加以下程式碼:
import ‘package:flutter/material.dart’;
import ‘package:nfc/nfc.dart’;

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: ‘NFC Demo’,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: ‘NFC Demo Home Page’),
);
}
}

class MyHomePage extends StatefulWidget {
MyHomePage({Key? key, required this.title}) : super(key: key);

final String title;

@override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State {
NfcData _nfcData = NfcData();

@override
void initState() {
super.initState();
_initNfc();
}

Future _initNfc() async {
try {
Nfc.onTag.listen((NfcData data) {
setState(() {
_nfcData = data;
});
});
} on Exception catch (ex) {
print(‘Error: $ex’);
}
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
‘NFC Data:’,
),
Text(
‘${_nfcData.id ?? ‘No data found’}’,
style: Theme.of(context).textTheme.headline4,
),
],
),
),
);
}
}

運行應用程式,在NFC-enabled裝置上放置NFC標籤,應用程式應該會顯示NFC標籤的ID。
這只是一個簡單的範例,您可以使用NFC插件的其他功能來擴展應用程式,例如寫入NFC標籤等。

Flutter判斷是否連接網路及目前網路類型

pubspec.yaml → dependencies:加入connectivity: ^0.4.2

判斷是否連接網路
import ‘package:connectivity/connectivity.dart’;
Future isConnected() async {
var connectivityResult = await (Connectivity().checkConnectivity());
return connectivityResult != ConnectivityResult.none;
}

取得連接網路類型
var connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
// 行動網路
} else if (connectivityResult == ConnectivityResult.wifi) {
// wifi無線網路
}

https://cloud.tencent.com/developer/article/1781635

12