AddMetahttps://addmeta.co.jpテクノロジーで未来を創造するMon, 04 Nov 2024 12:44:20 +0000jahourly1https://addmeta.co.jp/wp-content/uploads/2024/07/ロゴ-150x150.pngAddMetahttps://addmeta.co.jp3232 【Flutter】Include of non-modular header inside framework moduleの解決方法https://addmeta.co.jp/%e3%80%90flutter%e3%80%91error-sandbox-rsync-samba%e3%81%ae%e8%a7%a3%e6%b1%ba%e6%96%b9%e6%b3%95/Mon, 04 Nov 2024 12:17:51 +0000https://addmeta.co.jp/?p=280

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。 以下のissueを発見 「Allow Non-modular includes in Framework Modules」を「Yes」に ... ]]>

エラー内容

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。

Console
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_messaging.FLTFirebaseMessagingPlugin

調査

以下のissueを発見

解決方法

「Allow Non-modular includes in Framework Modules」を「Yes」に変更します。(現在はデフォルトで「No」に設定されています)。

Allow Non-modular includes in Framework Modulesとは

Xcode のビルド設定の一つで、フレームワークモジュール内で非モジュールヘッダーを含めるかどうかを許可するオプションです。

この設定を「Yes」にすることで、モジュールとしてビルドされたフレームワーク内でも非モジュール化されたヘッダーを読み込めるようになり、依存する一部のライブラリやプラグイン(例えば firebase_messaging など)が非モジュールヘッダーを含んでいる場合でもコンパイルエラーが発生しにくくなります。デフォルトでは「No」に設定されており、非モジュールヘッダーを読み込もうとするとエラーが出ることがあります。

]]>
【Flutter】Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module ‘firebase_auth.FLTAuthStateChannelStreamHandler’の解決方法https://addmeta.co.jp/%e3%80%90flutter%e3%80%91lexical-or-preprocessor-issue-xcode-include-of-non-modular-header-inside-framework-module-firebase_auth-fltauthstatechannelstreamhandler/Fri, 04 Oct 2024 13:54:27 +0000https://addmeta.co.jp/?p=267

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。 以下のissueを発見 問題は主にiOSビルド時のInclude of non-modular headerに関連しており、Xcodeの ... ]]>

エラー内容

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。

Console
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_auth.FLTAuthStateChannelStreamHandler'

調査

以下のissueを発見

問題は主にiOSビルド時のInclude of non-modular headerに関連しており、Xcodeの設定やFirebaseモジュールの依存関係が原因と考えられています。

解決方法

上記のIssueで提案されている解決方法は以下の通りです。

「Allow Non-modular Includes In Framework Modules」をYESに設定する。

ios/Runner.xcodeproj/project.pbxprojを直接編集する場合

「CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES」をYESに設定する。Debug、Profile、Releaseの3つ変更が必要なので注意!

project.pbxproj
/* Begin XCBuildConfiguration section */	2XXXXXXXXXXXXXXXXXXXX9 /* Profile */ = {	isa = XCBuildConfiguration;	buildSettings = {	ALWAYS_SEARCH_USER_PATHS = NO;	CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;
]]>
【Flutter】Error (xcode): ../../../.pub-cache/hosted/pub.dev/win32-5.4.0/lib/src/guid.dart:32:9: error: type ‘unmodifiableuint8listview’ not found.の解決方法https://addmeta.co.jp/%e3%80%90flutter%e3%80%91error-xcode-pub-cache-hosted-pub-dev-win32-5-4-0-lib-src-guid-dart329-error-type-unmodifiableuint8listview-not-found-%e3%81%ae%e8%a7%a3%e6%b1%ba%e6%96%b9/Sun, 15 Sep 2024 13:13:10 +0000https://addmeta.co.jp/?p=259

久しぶりにFlutterで作成したアプリをビルドしたら、以下のエラー発生 以下のissueを発見 最新のDartバージョンでビルドが失敗し、UnmodifiableUint8ListViewが見つからないことによるもので ... ]]>

久しぶりにFlutterで作成したアプリをビルドしたら、以下のエラー発生

メッセージ

Console
ios/Runner/AppDelegate.swift uses the deprecated @UIApplicationMain attribute, updating.
error (xcode): ../../../.pub-cache/hosted/pub.dev/win32-5.4.0/lib/src/guid.dart:32:9: error: type 'unmodifiableuint8listview' not found.

調査

以下のissueを発見

最新のDartバージョンでビルドが失敗し、UnmodifiableUint8ListViewが見つからないことによるものです。

提案されている解決策としては、win32パッケージの最新バージョンを使用することです。

解決方法

以下のコマンドで、win32パッケージの最新バージョンを使用できます。

Console
flutter pub upgrade win32
]]>
【Flutter】Error: ‘CarouselController’ is imported from both の解決方法https://addmeta.co.jp/error-carouselcontroller-is-imported-from-both-packagecarousel_slider-carousel_controller-dart-and-packageflutter-src-material-carousel-dart/Tue, 13 Aug 2024 14:22:23 +0000https://addmeta.co.jp/?p=184

Flutter 3.24.0にバージョンアップした際に、carousel_slider-4.2.1で発生したエラーの備忘録です。 エラーを見ると、package:carousel_slider/carousel_cont ... ]]>

Flutter 3.24.0にバージョンアップした際に、carousel_slider-4.2.1で発生したエラーの備忘録です。

エラー内容

HTML
Error (Xcode): ../../../.pub-cache/hosted/pub.dev/carousel_slider-4.2.1/lib/carousel_slider.dart:9:1: Error: 'CarouselController' is imported from both 'package:carousel_slider/carousel_controller.dart' and 'package:flutter/src/material/carousel.dart'.

エラーを見ると、package:carousel_slider/carousel_controller.dartpackage:flutter/src/material/carousel.dart の両方から同じクラスのCarouselControllerがインポートされています。と書いてあります。

似たようなエラーは発生していないか調査!

読んで見ると、エイリアス(別名)やhideキーワードを使うこと、またはCarouselControllerの名前を変更することが解決策として提案されています。

解決策①

インポート時にエイリアス(別名)を使って名前の衝突を避ける

Dart
import 'package:carousel_slider/carousel_controller.dart' as custom_carousel;
import 'package:flutter/src/material/carousel.dart' as material_carousel;
// 使用時にエイリアスを使う
final controller = custom_carousel.CarouselController();

解決策②

carousel_slider_plusパッケージを使用する

解決策③

hideを使い、アクセス不可のクラスを指定する

Dart
import 'package:flutter/material.dart' hide CarouselController;

解決方法

carousel_sliderのversionsを5.0.0にする。

pubspec.yaml
carousel_slider: ^5.0.0

carousel_sliderのversionsを上げたくない人は、他の解決策を参考にしてみてください。

]]>
【Flutter】Error: Sandbox: rsync.sambaの解決方法https://addmeta.co.jp/error-sandbox-rsync-samba%e3%81%ae%e8%a7%a3%e6%b1%ba%e6%96%b9%e6%b3%95/Sat, 10 Aug 2024 02:31:21 +0000https://addmeta.co.jp/?p=166

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。 この記事では、その解決方法について解説します。 すぐに解決したい方のために、原因を簡潔に説明します。Xcode 15から、User Sc ... ]]>

エラー内容

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。

Console
Error (Xcode): Sandbox: rsync.samba(3788) deny(1) file-write-create ...
Error (Xcode): Sandbox: dart(3764) deny(1) file-write-create ...
Error (Xcode): Flutter failed to read a file at "~/.last_build_id".

この記事では、その解決方法について解説します。

すぐに解決したい方のために、原因を簡潔に説明します。Xcode 15から、User Script Sandboxingのデフォルト設定が「Yes」(有効)になっていることが原因です。

解決方法

「Xcodeプロジェクトファイル」の「Build Settings」に移動し、「User Script Sandboxing」を「No」に変更します。

User Script Sandboxingとは

Xcodeで導入されたセキュリティ機能の一つです。この機能は、ビルドプロセス中に実行されるスクリプトの動作を制限することで、潜在的なセキュリティリスクを軽減します。

具体的には、ビルドフェーズで実行されるスクリプト(例えば、Run Scriptビルドフェーズで指定されたスクリプトやCocoaPodsのスクリプトなど)の権限を制限することで、システム全体に悪影響を及ぼす可能性のある操作を防ぐ役割を果たします。これにより、開発者や他のプロセスが実行するスクリプトが、予期しないファイルへのアクセスや変更を行わないように保護されます。

Xcode 15から、この設定がデフォルトで「Yes」(有効)になっているため、特定のスクリプトが適切な権限を持たない場合にエラーが発生する可能性があります。

]]>