When I tried to build an application on iOS, I got this error:
Failed Step: Flutter build ipa and automatic versioning
Archiving com.fdstudio.Researcher... Upgrading contents.xcworkspacedata Updating project for Xcode compatibility. Upgrading project.pbxproj Upgrading Runner.xcscheme Upgrading Info.plist Removing script build phase dependency analysis. Adding input path to Thin Binary build phase. ios/Runner/AppDelegate.swift uses the deprecated @UIApplicationMain attribute, updating. Automatically signing iOS for device deployment using specified development team in Xcode project: 4BBDKM368J Running pod install... 817ms Running Xcode build... Xcode archive done. 45.0s Failed to build iOS app Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_Builtin_float Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_errno Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_math Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_signal Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_stdio Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swift_time Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swiftsys_time Error (Xcode): Undefined symbol: __swift_FORCE_LOAD_$_swiftunistd Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation) Encountered error while archiving for device. Build failed :| Step 11 script Flutter build ipa and automatic versioning
exited with status code 1
Note that I am using Facebook banner and interstitial ads, and these are the codes for both banner and interstitial
banner:
// Automatic FlutterFlow imports
import '/backend/sqlite/sqlite_manager.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/custom_code/widgets/index.dart'; // Imports other custom widgets
import '/custom_code/actions/index.dart'; // Imports custom actions
import '/flutter_flow/custom_functions.dart'; // Imports custom functions
import 'package:flutter/material.dart';
// Begin custom widget code
// DO NOT REMOVE OR MODIFY THE CODE ABOVE!
import 'dart:io';
import 'package:facebook_audience_network/facebook_audience_network.dart'; // Import the Facebook Audience Network library
class BannerAdWidget extends StatefulWidget {
const BannerAdWidget({
Key? key,
this.width,
this.height,
}) : super(key: key);
final double? width;
final double? height;
@override
_BannerAdWidgetState createState() => _BannerAdWidgetState();
}
class _BannerAdWidgetState extends State<BannerAdWidget> {
@override
Widget build(BuildContext context) {
return Container(
alignment: Alignment.center, // Adjust alignment if needed
child: FacebookBannerAd(
placementId: Platform.isAndroid
? "1643303326593566_1643304656593433" // Replace with Android placement ID
: "1643303326593566_1643304656593433", // Replace with iOS placement ID
bannerSize: BannerSize.STANDARD,
listener: (result, value) {
switch (result) {
case BannerAdResult.ERROR:
print("Error: $value");
break;
case BannerAdResult.LOADED:
print("Loaded: $value");
break;
case BannerAdResult.CLICKED:
print("Clicked: $value");
break;
case BannerAdResult.LOGGING_IMPRESSION:
print("Logging Impression: $value");
break;
}
},
),
);
}
}
// Set your widget name, define your parameter, and then add the
// boilerplate code using the green button on the right!
interstitial
// Automatic FlutterFlow imports
import '/backend/sqlite/sqlite_manager.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/custom_code/actions/index.dart'; // Imports other custom actions
import '/flutter_flow/custom_functions.dart'; // Imports custom functions
import 'package:flutter/material.dart';
// Begin custom action code
// DO NOT REMOVE OR MODIFY THE CODE ABOVE!
import 'dart:io';
import 'package:facebook_audience_network/facebook_audience_network.dart';
Future<void> interstitial() async {
FacebookInterstitialAd.loadInterstitialAd(
placementId: Platform.isAndroid
? "1643303326593566_1643305063260059" // استبدل بمعرف الإعلان الخاص بـ Android
: "1643303326593566_1643305063260059", // استبدل بمعرف الإعلان الخاص بـ iOS
listener: (result, value) {
if (result == InterstitialAdResult.LOADED) {
print("Interstitial Ad Loaded");
FacebookInterstitialAd.showInterstitialAd(
delay: 5000); // تأخير بمقدار 5 ثوانٍ
} else if (result == InterstitialAdResult.ERROR) {
print("Error: $value");
} else if (result == InterstitialAdResult.CLICKED) {
print("Ad Clicked");
} else if (result == InterstitialAdResult.LOGGING_IMPRESSION) {
print("Logging Impression: $value");
}
},
);
}
// Set your action name, define your arguments and return parameter,
// and then add the boilerplate code using the green button on the right!