add new featurs like realtime 2026-5-10-25
This commit is contained in:
@@ -289,6 +289,18 @@ class AppLink {
|
|||||||
static String addAdminUser = "$server/Admin/adminUser/add.php";
|
static String addAdminUser = "$server/Admin/adminUser/add.php";
|
||||||
static String addStaff = "$server/Admin/Staff/add.php";
|
static String addStaff = "$server/Admin/Staff/add.php";
|
||||||
static String getdashbord = "$server/Admin/dashbord.php";
|
static String getdashbord = "$server/Admin/dashbord.php";
|
||||||
|
static String paymentServerV2 = 'https://walletintaleq.intaleq.xyz/v2/main';
|
||||||
|
static String realtimeDashboardV2 = "$server/Admin/v2/realtime_dashboard.php";
|
||||||
|
static String smartAlertsV2 = "$server/Admin/v2/smart_alerts.php";
|
||||||
|
static String growthV2 = "$server/Admin/v2/analytics/growth.php";
|
||||||
|
static String revenueV2 = "$server/Admin/v2/analytics/revenue.php";
|
||||||
|
static String driverRankingV2 = "$server/Admin/v2/analytics/driver_ranking.php";
|
||||||
|
static String settlementsV2 = "$paymentServerV2/Admin/v2/financial/settlements.php";
|
||||||
|
static String financialStatsV2 = "$paymentServerV2/Admin/v2/financial/stats.php";
|
||||||
|
static String dashboardWalletV2 = "$paymentServerV2/Admin/v2/financial/dashboard_wallet.php";
|
||||||
|
static String auditLogsV2 = "$server/Admin/v2/security/audit_logs.php";
|
||||||
|
static String blacklistManager = "$server/Admin/v2/quality/blacklist_manager.php";
|
||||||
|
static String driverScorecard = "$server/Admin/v2/quality/driver_scorecard.php";
|
||||||
static String getEmployee = "$server/Admin/employee/get.php";
|
static String getEmployee = "$server/Admin/employee/get.php";
|
||||||
static String getBestDriver = "$server/Admin/driver/getBestDriver.php";
|
static String getBestDriver = "$server/Admin/driver/getBestDriver.php";
|
||||||
static String getBestDriverGiza =
|
static String getBestDriverGiza =
|
||||||
|
|||||||
75
lib/controller/admin/analytics_v2_controller.dart
Normal file
75
lib/controller/admin/analytics_v2_controller.dart
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/links.dart';
|
||||||
|
import 'package:sefer_admin1/controller/functions/crud.dart';
|
||||||
|
import '../../print.dart';
|
||||||
|
|
||||||
|
class AnalyticsV2Controller extends GetxController {
|
||||||
|
bool isLoading = true;
|
||||||
|
|
||||||
|
Map<String, dynamic> growthData = {};
|
||||||
|
Map<String, dynamic> revenueData = {};
|
||||||
|
List<dynamic> topDrivers = [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
super.onInit();
|
||||||
|
fetchAllAnalytics();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchAllAnalytics() async {
|
||||||
|
isLoading = true;
|
||||||
|
update();
|
||||||
|
|
||||||
|
await Future.wait([
|
||||||
|
fetchGrowth(),
|
||||||
|
fetchRevenue(),
|
||||||
|
fetchDriverRanking(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
isLoading = false;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchGrowth() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.growthV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
growthData = d['data'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching growth analytics: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchRevenue() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.revenueV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
revenueData = d['data'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching revenue analytics: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchDriverRanking() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.driverRankingV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
topDrivers = d['data'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching driver ranking: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
62
lib/controller/admin/dashboard_v2_controller.dart
Normal file
62
lib/controller/admin/dashboard_v2_controller.dart
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
import 'dart:convert';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/links.dart';
|
||||||
|
import 'package:sefer_admin1/controller/functions/crud.dart';
|
||||||
|
import '../../print.dart';
|
||||||
|
|
||||||
|
class DashboardV2Controller extends GetxController {
|
||||||
|
bool isLoading = true;
|
||||||
|
Map<String, dynamic> realtimeData = {};
|
||||||
|
List<dynamic> smartAlerts = [];
|
||||||
|
Timer? _timer;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
super.onInit();
|
||||||
|
fetchRealtimeData();
|
||||||
|
fetchSmartAlerts();
|
||||||
|
// Auto refresh every 30 seconds
|
||||||
|
_timer = Timer.periodic(const Duration(seconds: 30), (timer) {
|
||||||
|
fetchRealtimeData();
|
||||||
|
fetchSmartAlerts();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onClose() {
|
||||||
|
_timer?.cancel();
|
||||||
|
super.onClose();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchRealtimeData() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.realtimeDashboardV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
realtimeData = d['message'];
|
||||||
|
isLoading = false;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching realtime dashboard: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchSmartAlerts() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.smartAlertsV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
smartAlerts = d['message'];
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching smart alerts: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
59
lib/controller/admin/financial_v2_controller.dart
Normal file
59
lib/controller/admin/financial_v2_controller.dart
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/links.dart';
|
||||||
|
import 'package:sefer_admin1/controller/functions/crud.dart';
|
||||||
|
import '../../print.dart';
|
||||||
|
|
||||||
|
class FinancialV2Controller extends GetxController {
|
||||||
|
bool isLoading = true;
|
||||||
|
|
||||||
|
Map<String, dynamic> stats = {};
|
||||||
|
List<dynamic> settlements = [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
super.onInit();
|
||||||
|
fetchAllFinancials();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchAllFinancials() async {
|
||||||
|
isLoading = true;
|
||||||
|
update();
|
||||||
|
|
||||||
|
await Future.wait([
|
||||||
|
fetchStats(),
|
||||||
|
fetchSettlements(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
isLoading = false;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchStats() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.financialStatsV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
stats = d['data'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching financial stats: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchSettlements() async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().get(link: AppLink.settlementsV2, payload: {});
|
||||||
|
if (res != 'failure' && res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
settlements = d['data'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching settlements: $e');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
102
lib/controller/admin/quality_controller.dart
Normal file
102
lib/controller/admin/quality_controller.dart
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import '../../constant/links.dart';
|
||||||
|
import '../functions/crud.dart';
|
||||||
|
|
||||||
|
class QualityController extends GetxController {
|
||||||
|
bool isLoading = false;
|
||||||
|
List driversBlacklist = [];
|
||||||
|
List passengersBlacklist = [];
|
||||||
|
Map scorecardData = {};
|
||||||
|
|
||||||
|
Future<void> fetchBlacklist() async {
|
||||||
|
isLoading = true;
|
||||||
|
update();
|
||||||
|
try {
|
||||||
|
var res = await CRUD().post(
|
||||||
|
link: AppLink.blacklistManager,
|
||||||
|
payload: {"action_type": "get_all"},
|
||||||
|
);
|
||||||
|
if (res is Map && res['status'] == 'success') {
|
||||||
|
driversBlacklist = res['message']['drivers'] ?? [];
|
||||||
|
passengersBlacklist = res['message']['passengers'] ?? [];
|
||||||
|
} else {
|
||||||
|
Get.snackbar("Error", "Failed to fetch blacklist");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Get.snackbar("Error", "Network error");
|
||||||
|
} finally {
|
||||||
|
isLoading = false;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> unblockDriver(String phone) async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().post(
|
||||||
|
link: AppLink.blacklistManager,
|
||||||
|
payload: {
|
||||||
|
"action_type": "unblock_driver",
|
||||||
|
"phone": phone,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
if (res is Map && res['status'] == 'success') {
|
||||||
|
Get.snackbar("Success", "Driver unblocked successfully");
|
||||||
|
fetchBlacklist(); // Refresh
|
||||||
|
} else {
|
||||||
|
Get.snackbar("Error", res['message'] ?? "Failed to unblock driver");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Get.snackbar("Error", "Network error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> unblockPassenger(String phoneNormalized) async {
|
||||||
|
try {
|
||||||
|
var res = await CRUD().post(
|
||||||
|
link: AppLink.blacklistManager,
|
||||||
|
payload: {
|
||||||
|
"action_type": "unblock_passenger",
|
||||||
|
"phone_normalized": phoneNormalized,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
if (res is Map && res['status'] == 'success') {
|
||||||
|
Get.snackbar("Success", "Passenger unblocked successfully");
|
||||||
|
fetchBlacklist(); // Refresh
|
||||||
|
} else {
|
||||||
|
Get.snackbar("Error", res['message'] ?? "Failed to unblock passenger");
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Get.snackbar("Error", "Network error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchDriverScorecard(String driverId) async {
|
||||||
|
isLoading = true;
|
||||||
|
update();
|
||||||
|
try {
|
||||||
|
var res = await CRUD().post(
|
||||||
|
link: AppLink.driverScorecard,
|
||||||
|
payload: {"driver_id": driverId},
|
||||||
|
);
|
||||||
|
if (res is Map && res['status'] == 'success') {
|
||||||
|
scorecardData = res['message'];
|
||||||
|
} else {
|
||||||
|
Get.snackbar("Error", "Failed to fetch scorecard");
|
||||||
|
scorecardData = {};
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Get.snackbar("Error", "Network error");
|
||||||
|
scorecardData = {};
|
||||||
|
} finally {
|
||||||
|
isLoading = false;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
super.onInit();
|
||||||
|
// fetchBlacklist() can be called when opening the page
|
||||||
|
}
|
||||||
|
}
|
||||||
62
lib/controller/admin/security_v2_controller.dart
Normal file
62
lib/controller/admin/security_v2_controller.dart
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/links.dart';
|
||||||
|
import 'package:sefer_admin1/controller/functions/crud.dart';
|
||||||
|
import '../../print.dart';
|
||||||
|
|
||||||
|
class SecurityV2Controller extends GetxController {
|
||||||
|
bool isLoading = true;
|
||||||
|
List<dynamic> auditLogs = [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
super.onInit();
|
||||||
|
fetchAuditLogs();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> fetchAuditLogs() async {
|
||||||
|
isLoading = true;
|
||||||
|
update();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Log.print('Fetching from: ${AppLink.auditLogsV2}');
|
||||||
|
var res = await CRUD().get(link: AppLink.auditLogsV2, payload: {});
|
||||||
|
Log.print('Raw audit res type: ${res.runtimeType} | value: $res');
|
||||||
|
|
||||||
|
if (res == 'failure' || res == 'token_expired') {
|
||||||
|
Log.print('CRUD returned: $res');
|
||||||
|
Get.snackbar("خطأ بالاتصال", "السيرفر أرجع: $res",
|
||||||
|
backgroundColor: const Color(0x88FF0000),
|
||||||
|
colorText: const Color(0xFFFFFFFF));
|
||||||
|
auditLogs = [];
|
||||||
|
} else if (res != null) {
|
||||||
|
var d = res is String ? jsonDecode(res) : res;
|
||||||
|
Log.print('Decoded audit response: $d');
|
||||||
|
if (d['status'] == 'success') {
|
||||||
|
var message = d['message'];
|
||||||
|
if (message is List) {
|
||||||
|
auditLogs = message;
|
||||||
|
Log.print('Loaded ${auditLogs.length} audit logs');
|
||||||
|
} else {
|
||||||
|
auditLogs = [];
|
||||||
|
Log.print('message is not List: ${message.runtimeType}');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Log.print('Status not success: ${d['status']}');
|
||||||
|
Get.snackbar("خطأ من السيرفر", "${d['message'] ?? d['status']}",
|
||||||
|
backgroundColor: const Color(0x88FF0000),
|
||||||
|
colorText: const Color(0xFFFFFFFF));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
Log.print('Error fetching audit logs: $e');
|
||||||
|
Get.snackbar("خطأ برمجي", "$e",
|
||||||
|
backgroundColor: const Color(0x88FF0000),
|
||||||
|
colorText: const Color(0xFFFFFFFF));
|
||||||
|
}
|
||||||
|
|
||||||
|
isLoading = false;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,3 @@
|
|||||||
import 'package:get/get.dart';
|
|
||||||
import 'views/admin/admin_home_page.dart';
|
|
||||||
import 'views/auth/login_page.dart';
|
|
||||||
import 'views/auth/register_page.dart';
|
|
||||||
import 'views/admin/promo/promo_management_page.dart';
|
|
||||||
import 'views/admin/pricing/kazan_editor_page.dart';
|
|
||||||
import 'views/admin/complaints/complaint_list_page.dart';
|
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'views/admin/admin_home_page.dart';
|
import 'views/admin/admin_home_page.dart';
|
||||||
import 'views/auth/login_page.dart';
|
import 'views/auth/login_page.dart';
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:sefer_admin1/views/admin/drivers/driver_gift_check_page.dart';
|
import 'package:sefer_admin1/views/admin/drivers/driver_gift_check_page.dart';
|
||||||
import 'package:sefer_admin1/views/admin/drivers/driver_tracker_screen.dart';
|
import 'package:sefer_admin1/views/admin/drivers/driver_tracker_screen.dart';
|
||||||
|
import 'package:sefer_admin1/views/admin/quality/blacklist_page.dart';
|
||||||
|
|
||||||
import '../../constant/box_name.dart';
|
import '../../constant/box_name.dart';
|
||||||
import '../../constant/colors.dart';
|
import '../../constant/colors.dart';
|
||||||
@@ -33,6 +34,10 @@ import 'static/static.dart';
|
|||||||
import 'wallet/wallet.dart';
|
import 'wallet/wallet.dart';
|
||||||
import 'staff/add_staff_page.dart';
|
import 'staff/add_staff_page.dart';
|
||||||
import 'staff/pending_admins_page.dart';
|
import 'staff/pending_admins_page.dart';
|
||||||
|
import 'dashboard_v2_widget.dart';
|
||||||
|
import 'static/advanced_analytics_page.dart';
|
||||||
|
import 'financial/financial_v2_page.dart';
|
||||||
|
import 'security/audit_logs_page.dart';
|
||||||
|
|
||||||
class AdminHomePage extends StatefulWidget {
|
class AdminHomePage extends StatefulWidget {
|
||||||
const AdminHomePage({super.key});
|
const AdminHomePage({super.key});
|
||||||
@@ -121,6 +126,7 @@ class _AdminHomePageState extends State<AdminHomePage>
|
|||||||
slivers: [
|
slivers: [
|
||||||
_buildSliverAppBar(controller),
|
_buildSliverAppBar(controller),
|
||||||
_buildSearchBar(),
|
_buildSearchBar(),
|
||||||
|
if (_searchQuery.isEmpty) const DashboardV2Widget(),
|
||||||
if (_searchQuery.isEmpty)
|
if (_searchQuery.isEmpty)
|
||||||
_buildQuickStatsSection(data, controller),
|
_buildQuickStatsSection(data, controller),
|
||||||
SliverPadding(
|
SliverPadding(
|
||||||
@@ -771,12 +777,23 @@ class _AdminHomePageState extends State<AdminHomePage>
|
|||||||
await Get.put(StaticController()).getAll();
|
await Get.put(StaticController()).getAll();
|
||||||
Get.to(() => const StaticDash());
|
Get.to(() => const StaticDash());
|
||||||
}),
|
}),
|
||||||
|
ActionItem('التحليلات المتقدمة', Icons.analytics_rounded, _info,
|
||||||
|
() => Get.to(() => const AdvancedAnalyticsPage())),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
if (isSuperAdmin)
|
ActionCategory(
|
||||||
|
title: 'الجودة والدعم',
|
||||||
|
items: [
|
||||||
|
ActionItem('القائمة السوداء', Icons.block_flipped, _danger,
|
||||||
|
() => Get.to(() => const BlacklistPage())),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
if (true)
|
||||||
ActionCategory(
|
ActionCategory(
|
||||||
title: 'المالية والإدارة',
|
title: 'المالية والإدارة',
|
||||||
items: [
|
items: [
|
||||||
|
ActionItem('الإدارة المالية V2', Icons.account_balance_rounded, _accent,
|
||||||
|
() => Get.to(() => const FinancialV2Page())),
|
||||||
ActionItem('المحفظة', Icons.account_balance_wallet_rounded, _accent,
|
ActionItem('المحفظة', Icons.account_balance_wallet_rounded, _accent,
|
||||||
() => Get.to(() => Wallet())),
|
() => Get.to(() => Wallet())),
|
||||||
ActionItem('هدية 300', Icons.card_giftcard_rounded, _warning,
|
ActionItem('هدية 300', Icons.card_giftcard_rounded, _warning,
|
||||||
@@ -789,10 +806,12 @@ class _AdminHomePageState extends State<AdminHomePage>
|
|||||||
() => Get.to(() => const PendingAdminsPage())),
|
() => Get.to(() => const PendingAdminsPage())),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
if (isSuperAdmin)
|
if (true)
|
||||||
ActionCategory(
|
ActionCategory(
|
||||||
title: 'النظام والتواصل',
|
title: 'النظام والتواصل',
|
||||||
items: [
|
items: [
|
||||||
|
ActionItem('سجل العمليات', Icons.admin_panel_settings_rounded,
|
||||||
|
_danger, () => Get.to(() => const AuditLogsPage())),
|
||||||
ActionItem('واتساب جماعي', Icons.message_rounded,
|
ActionItem('واتساب جماعي', Icons.message_rounded,
|
||||||
const Color(0xFF4CAF50), () => _showWhatsAppDialog(context)),
|
const Color(0xFF4CAF50), () => _showWhatsAppDialog(context)),
|
||||||
ActionItem(
|
ActionItem(
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import '../../../main.dart'; // Import main to access myPhone
|
|||||||
import '../../widgets/elevated_btn.dart';
|
import '../../widgets/elevated_btn.dart';
|
||||||
import '../../widgets/my_scafold.dart';
|
import '../../widgets/my_scafold.dart';
|
||||||
import '../../widgets/my_textField.dart';
|
import '../../widgets/my_textField.dart';
|
||||||
|
import '../quality/driver_scorecard_page.dart';
|
||||||
import 'form_captain.dart';
|
import 'form_captain.dart';
|
||||||
|
|
||||||
class CaptainDetailsPage extends StatelessWidget {
|
class CaptainDetailsPage extends StatelessWidget {
|
||||||
@@ -234,6 +235,26 @@ class CaptainDetailsPage extends StatelessWidget {
|
|||||||
bool isSuperAdmin) {
|
bool isSuperAdmin) {
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
|
// Driver Scorecard Button
|
||||||
|
SizedBox(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 50,
|
||||||
|
child: ElevatedButton.icon(
|
||||||
|
icon: const Icon(Icons.analytics_outlined, color: Colors.white),
|
||||||
|
label: Text("بطاقة الأداء (Scorecard)",
|
||||||
|
style: const TextStyle(color: Colors.white, fontSize: 16)),
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: Colors.blueAccent,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(12)),
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
Get.to(() => DriverScorecardPage(driverId: data['id'].toString()));
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 16),
|
||||||
|
|
||||||
// Notification is available for everyone
|
// Notification is available for everyone
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
|||||||
339
lib/views/admin/dashboard_v2_widget.dart
Normal file
339
lib/views/admin/dashboard_v2_widget.dart
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/colors.dart';
|
||||||
|
import 'package:sefer_admin1/controller/admin/dashboard_v2_controller.dart';
|
||||||
|
import 'package:flutter_staggered_animations/flutter_staggered_animations.dart';
|
||||||
|
|
||||||
|
class DashboardV2Widget extends StatelessWidget {
|
||||||
|
const DashboardV2Widget({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
// Initialize controller
|
||||||
|
final controller = Get.put(DashboardV2Controller());
|
||||||
|
|
||||||
|
return GetBuilder<DashboardV2Controller>(
|
||||||
|
builder: (ctrl) {
|
||||||
|
if (ctrl.isLoading) {
|
||||||
|
return const SliverToBoxAdapter(
|
||||||
|
child: SizedBox(
|
||||||
|
height: 150,
|
||||||
|
child: Center(
|
||||||
|
child: CircularProgressIndicator(color: AppColor.accent),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return SliverToBoxAdapter(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
// 1. Real-time stats
|
||||||
|
_buildSectionTitle('مركز العمليات الحي (Real-time)'),
|
||||||
|
_buildRealtimeStats(ctrl.realtimeData),
|
||||||
|
|
||||||
|
const SizedBox(height: 20),
|
||||||
|
|
||||||
|
// 2. Smart Alerts
|
||||||
|
if (ctrl.smartAlerts.isNotEmpty) ...[
|
||||||
|
_buildSectionTitle('التنبيهات الذكية (${ctrl.smartAlerts.length})'),
|
||||||
|
_buildSmartAlerts(ctrl.smartAlerts),
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
]
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSectionTitle(String title) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.fromLTRB(20, 8, 20, 10),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: 3,
|
||||||
|
height: 14,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.danger, // Distinct color
|
||||||
|
borderRadius: BorderRadius.circular(2),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 8),
|
||||||
|
Text(
|
||||||
|
title,
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary,
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
letterSpacing: 0.5,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildRealtimeStats(Map<String, dynamic> data) {
|
||||||
|
final stats = [
|
||||||
|
{
|
||||||
|
'title': 'رحلات نشطة',
|
||||||
|
'value': data['active_rides']?.toString() ?? '0',
|
||||||
|
'icon': Icons.directions_car_rounded,
|
||||||
|
'color': AppColor.info,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'title': 'سائقون أونلاين',
|
||||||
|
'value': data['online_drivers']?.toString() ?? '0',
|
||||||
|
'icon': Icons.wifi_tethering,
|
||||||
|
'color': AppColor.success,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'title': 'إيرادات اليوم',
|
||||||
|
'value': '${data['revenue_today'] ?? 0}',
|
||||||
|
'icon': Icons.monetization_on_rounded,
|
||||||
|
'color': AppColor.warning,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'title': 'إيرادات الأمس',
|
||||||
|
'value': '${data['revenue_yesterday'] ?? 0}',
|
||||||
|
'icon': Icons.history_rounded,
|
||||||
|
'color': Colors.grey,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'title': 'شكاوى مفتوحة',
|
||||||
|
'value': data['new_complaints']?.toString() ?? '0',
|
||||||
|
'icon': Icons.warning_rounded,
|
||||||
|
'color': AppColor.danger,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'title': 'رخص تنتهي قريبًا',
|
||||||
|
'value': data['expiring_licenses']?.toString() ?? '0',
|
||||||
|
'icon': Icons.sd_card_alert_rounded,
|
||||||
|
'color': Colors.orangeAccent,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
return SizedBox(
|
||||||
|
height: 110,
|
||||||
|
child: ListView.builder(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
itemCount: stats.length,
|
||||||
|
itemBuilder: (ctx, i) {
|
||||||
|
final stat = stats[i];
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.only(right: 10),
|
||||||
|
child: _buildStatCard(stat),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildStatCard(Map<String, dynamic> stat) {
|
||||||
|
final color = stat['color'] as Color;
|
||||||
|
return Container(
|
||||||
|
width: 140,
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(16),
|
||||||
|
border: Border.all(color: color.withOpacity(0.3)),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: color.withOpacity(0.05),
|
||||||
|
blurRadius: 10,
|
||||||
|
offset: const Offset(0, 4),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: const EdgeInsets.all(6),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: color.withOpacity(0.15),
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
child: Icon(stat['icon'] as IconData, color: color, size: 16),
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
// Pulsing indicator for active things
|
||||||
|
if (stat['title'] == 'رحلات نشطة' || stat['title'] == 'سائقون أونلاين')
|
||||||
|
Container(
|
||||||
|
width: 8,
|
||||||
|
height: 8,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
color: color,
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: color.withOpacity(0.5),
|
||||||
|
blurRadius: 4,
|
||||||
|
spreadRadius: 1,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Text(
|
||||||
|
stat['value'].toString(),
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontSize: 20,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 2),
|
||||||
|
Text(
|
||||||
|
stat['title'].toString(),
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary,
|
||||||
|
fontSize: 10,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
maxLines: 1,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSmartAlerts(List<dynamic> alerts) {
|
||||||
|
return ListView.builder(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
shrinkWrap: true,
|
||||||
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
|
itemCount: alerts.length > 5 ? 5 : alerts.length, // Show top 5
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
final alert = alerts[index];
|
||||||
|
return AnimationConfiguration.staggeredList(
|
||||||
|
position: index,
|
||||||
|
duration: const Duration(milliseconds: 300),
|
||||||
|
child: SlideAnimation(
|
||||||
|
verticalOffset: 20.0,
|
||||||
|
child: FadeInAnimation(
|
||||||
|
child: _buildAlertItem(alert),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildAlertItem(Map<String, dynamic> alert) {
|
||||||
|
Color getSeverityColor(String severity) {
|
||||||
|
switch (severity) {
|
||||||
|
case 'high':
|
||||||
|
return AppColor.danger;
|
||||||
|
case 'medium':
|
||||||
|
return AppColor.warning;
|
||||||
|
case 'warning':
|
||||||
|
return Colors.orangeAccent;
|
||||||
|
default:
|
||||||
|
return AppColor.info;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IconData getAlertIcon(String type) {
|
||||||
|
switch (type) {
|
||||||
|
case 'complaint':
|
||||||
|
return Icons.report_problem_rounded;
|
||||||
|
case 'ride':
|
||||||
|
return Icons.directions_car_rounded;
|
||||||
|
case 'license':
|
||||||
|
return Icons.badge_rounded;
|
||||||
|
default:
|
||||||
|
return Icons.notifications_active_rounded;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final color = getSeverityColor(alert['severity']);
|
||||||
|
final icon = getAlertIcon(alert['type']);
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
margin: const EdgeInsets.only(bottom: 10),
|
||||||
|
padding: const EdgeInsets.all(12),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(12),
|
||||||
|
border: Border.all(color: color.withOpacity(0.4)),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: color.withOpacity(0.05),
|
||||||
|
blurRadius: 5,
|
||||||
|
offset: const Offset(0, 2),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: const EdgeInsets.all(10),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: color.withOpacity(0.1),
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
),
|
||||||
|
child: Icon(icon, color: color, size: 20),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 12),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
alert['title'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontSize: 13,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 4),
|
||||||
|
Text(
|
||||||
|
alert['description'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary,
|
||||||
|
fontSize: 11,
|
||||||
|
),
|
||||||
|
maxLines: 2,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 8),
|
||||||
|
Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
alert['date'] != null
|
||||||
|
? alert['date'].toString().split(' ')[0]
|
||||||
|
: '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary,
|
||||||
|
fontSize: 10,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
Icon(Icons.arrow_forward_ios_rounded,
|
||||||
|
color: AppColor.textSecondary, size: 12),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
278
lib/views/admin/financial/financial_v2_page.dart
Normal file
278
lib/views/admin/financial/financial_v2_page.dart
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/colors.dart';
|
||||||
|
import 'package:sefer_admin1/controller/admin/financial_v2_controller.dart';
|
||||||
|
|
||||||
|
class FinancialV2Page extends StatelessWidget {
|
||||||
|
const FinancialV2Page({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final controller = Get.put(FinancialV2Controller());
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColor.bg,
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('الإدارة المالية المتقدمة',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
backgroundColor: AppColor.surface,
|
||||||
|
elevation: 0,
|
||||||
|
centerTitle: true,
|
||||||
|
actions: [
|
||||||
|
IconButton(
|
||||||
|
icon: const Icon(Icons.refresh_rounded),
|
||||||
|
onPressed: () => controller.fetchAllFinancials(),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: GetBuilder<FinancialV2Controller>(
|
||||||
|
builder: (ctrl) {
|
||||||
|
if (ctrl.isLoading) {
|
||||||
|
return const Center(
|
||||||
|
child: CircularProgressIndicator(color: AppColor.accent));
|
||||||
|
}
|
||||||
|
|
||||||
|
return SingleChildScrollView(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_buildMainFinancialStats(ctrl.stats),
|
||||||
|
const SizedBox(height: 24),
|
||||||
|
_buildSectionTitle('طرق الدفع'),
|
||||||
|
_buildPaymentMethodBreakdown(ctrl.stats),
|
||||||
|
const SizedBox(height: 32),
|
||||||
|
_buildSectionTitle('تسويات الكباتن (مستحقات معلقة)'),
|
||||||
|
_buildSettlementsList(ctrl.settlements),
|
||||||
|
const SizedBox(height: 40),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSectionTitle(String title) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.only(bottom: 16),
|
||||||
|
child: Text(
|
||||||
|
title,
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontSize: 16,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildMainFinancialStats(Map<String, dynamic> stats) {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
_buildFinancialCard(
|
||||||
|
'إجمالي عمولة المنصة',
|
||||||
|
'${stats['total_platform_commission'] ?? 0} ج.م',
|
||||||
|
Icons.account_balance_rounded,
|
||||||
|
AppColor.accent,
|
||||||
|
),
|
||||||
|
const SizedBox(height: 12),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: _buildFinancialCard(
|
||||||
|
'إجمالي دخل الكباتن',
|
||||||
|
'${stats['total_driver_pay'] ?? 0}',
|
||||||
|
Icons.person_pin_rounded,
|
||||||
|
AppColor.info,
|
||||||
|
isSmall: true,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 12),
|
||||||
|
Expanded(
|
||||||
|
child: _buildFinancialCard(
|
||||||
|
'إجمالي الإيرادات',
|
||||||
|
'${stats['total_revenue'] ?? 0}',
|
||||||
|
Icons.payments_rounded,
|
||||||
|
AppColor.success,
|
||||||
|
isSmall: true,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildFinancialCard(
|
||||||
|
String title, String value, IconData icon, Color color,
|
||||||
|
{bool isSmall = false}) {
|
||||||
|
return Container(
|
||||||
|
padding: EdgeInsets.all(isSmall ? 16 : 24),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(20),
|
||||||
|
border: Border.all(color: color.withOpacity(0.2)),
|
||||||
|
gradient: LinearGradient(
|
||||||
|
begin: Alignment.topLeft,
|
||||||
|
end: Alignment.bottomRight,
|
||||||
|
colors: [AppColor.surface, color.withOpacity(0.05)],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: const EdgeInsets.all(12),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: color.withOpacity(0.1),
|
||||||
|
borderRadius: BorderRadius.circular(14),
|
||||||
|
),
|
||||||
|
child: Icon(icon, color: color, size: isSmall ? 20 : 28),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(title,
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 12)),
|
||||||
|
const SizedBox(height: 4),
|
||||||
|
Text(value,
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontSize: isSmall ? 18 : 24,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildPaymentMethodBreakdown(Map<String, dynamic> stats) {
|
||||||
|
double cash = double.tryParse(stats['cash_payments'].toString()) ?? 0;
|
||||||
|
double digital = double.tryParse(stats['digital_payments'].toString()) ?? 0;
|
||||||
|
double total = cash + digital;
|
||||||
|
if (total == 0) total = 1;
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
padding: const EdgeInsets.all(20),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(20),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
_buildPaymentBar('نقدي (Cash)', cash, total, AppColor.warning),
|
||||||
|
const SizedBox(height: 16),
|
||||||
|
_buildPaymentBar('إلكتروني / محفظة', digital, total, AppColor.info),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildPaymentBar(
|
||||||
|
String label, double value, double total, Color color) {
|
||||||
|
double percent = value / total;
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(label,
|
||||||
|
style:
|
||||||
|
const TextStyle(color: AppColor.textPrimary, fontSize: 13)),
|
||||||
|
Text('${value.toStringAsFixed(0)} ج.م',
|
||||||
|
style: TextStyle(color: color, fontWeight: FontWeight.bold)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
ClipRRect(
|
||||||
|
borderRadius: BorderRadius.circular(4),
|
||||||
|
child: LinearProgressIndicator(
|
||||||
|
value: percent,
|
||||||
|
backgroundColor: AppColor.divider,
|
||||||
|
color: color,
|
||||||
|
minHeight: 8,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSettlementsList(List<dynamic> settlements) {
|
||||||
|
if (settlements.isEmpty)
|
||||||
|
return const Center(child: Text('لا توجد تسويات معلقة'));
|
||||||
|
|
||||||
|
return ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
|
itemCount: settlements.length,
|
||||||
|
itemBuilder: (ctx, i) {
|
||||||
|
final s = settlements[i];
|
||||||
|
return Container(
|
||||||
|
margin: const EdgeInsets.only(bottom: 12),
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(16),
|
||||||
|
border: Border.all(color: AppColor.divider),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text('${s['first_name']} ${s['last_name']}',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
Text(s['phone'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 12)),
|
||||||
|
const SizedBox(height: 4),
|
||||||
|
Text('${s['total_rides']} رحلة مكتملة',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.info, fontSize: 11)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
const Text('المستحقات',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 10)),
|
||||||
|
Text('${s['total_earned']} ج.م',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.accent,
|
||||||
|
fontSize: 18,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
const SizedBox(height: 4),
|
||||||
|
ElevatedButton(
|
||||||
|
onPressed: () {},
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: AppColor.accent.withOpacity(0.1),
|
||||||
|
foregroundColor: AppColor.accent,
|
||||||
|
elevation: 0,
|
||||||
|
minimumSize: const Size(80, 32),
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8)),
|
||||||
|
),
|
||||||
|
child: const Text('تسوية',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 11, fontWeight: FontWeight.bold)),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
153
lib/views/admin/quality/blacklist_page.dart
Normal file
153
lib/views/admin/quality/blacklist_page.dart
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import '../../../controller/admin/quality_controller.dart';
|
||||||
|
|
||||||
|
class BlacklistPage extends StatelessWidget {
|
||||||
|
const BlacklistPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
Get.put(QualityController()).fetchBlacklist();
|
||||||
|
|
||||||
|
return DefaultTabController(
|
||||||
|
length: 2,
|
||||||
|
child: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('إدارة القائمة السوداء (Blacklist)',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
backgroundColor: Colors.red[800],
|
||||||
|
bottom: const TabBar(
|
||||||
|
indicatorColor: Colors.white,
|
||||||
|
tabs: [
|
||||||
|
Tab(icon: Icon(Icons.drive_eta), text: 'السائقين المحظورين'),
|
||||||
|
Tab(icon: Icon(Icons.person), text: 'الركاب المحظورين'),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: GetBuilder<QualityController>(
|
||||||
|
builder: (controller) {
|
||||||
|
if (controller.isLoading) {
|
||||||
|
return const Center(child: CircularProgressIndicator());
|
||||||
|
}
|
||||||
|
|
||||||
|
return TabBarView(
|
||||||
|
children: [
|
||||||
|
_buildDriverList(controller),
|
||||||
|
_buildPassengerList(controller),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildDriverList(QualityController controller) {
|
||||||
|
if (controller.driversBlacklist.isEmpty) {
|
||||||
|
return const Center(child: Text('لا يوجد سائقين محظورين حالياً'));
|
||||||
|
}
|
||||||
|
return ListView.builder(
|
||||||
|
itemCount: controller.driversBlacklist.length,
|
||||||
|
padding: const EdgeInsets.all(12),
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
var driver = controller.driversBlacklist[index];
|
||||||
|
return Card(
|
||||||
|
elevation: 3,
|
||||||
|
shape:
|
||||||
|
RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
|
||||||
|
child: ListTile(
|
||||||
|
leading: const CircleAvatar(
|
||||||
|
backgroundColor: Colors.redAccent,
|
||||||
|
child: Icon(Icons.block, color: Colors.white),
|
||||||
|
),
|
||||||
|
title: Text('هاتف: ${driver['phone']}',
|
||||||
|
style: const TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
subtitle: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text('السبب: ${driver['reason'] ?? "غير محدد"}'),
|
||||||
|
Text('تاريخ الحظر: ${driver['created_at']}'),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
trailing: IconButton(
|
||||||
|
icon: const Icon(Icons.settings_backup_restore,
|
||||||
|
color: Colors.green),
|
||||||
|
onPressed: () {
|
||||||
|
_showUnblockDialog(
|
||||||
|
Get.context!,
|
||||||
|
'سائق',
|
||||||
|
driver['phone'],
|
||||||
|
() => controller.unblockDriver(driver['phone'].toString()),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildPassengerList(QualityController controller) {
|
||||||
|
if (controller.passengersBlacklist.isEmpty) {
|
||||||
|
return const Center(child: Text('لا يوجد ركاب محظورين حالياً'));
|
||||||
|
}
|
||||||
|
return ListView.builder(
|
||||||
|
itemCount: controller.passengersBlacklist.length,
|
||||||
|
padding: const EdgeInsets.all(12),
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
var passenger = controller.passengersBlacklist[index];
|
||||||
|
return Card(
|
||||||
|
elevation: 3,
|
||||||
|
shape:
|
||||||
|
RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
|
||||||
|
child: ListTile(
|
||||||
|
leading: const CircleAvatar(
|
||||||
|
backgroundColor: Colors.orangeAccent,
|
||||||
|
child: Icon(Icons.person_off, color: Colors.white),
|
||||||
|
),
|
||||||
|
title: Text(
|
||||||
|
'هاتف: ${passenger['phone'] ?? passenger['phone_normalized']}',
|
||||||
|
style: const TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
subtitle: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text('السبب: ${passenger['reason'] ?? "غير محدد"}'),
|
||||||
|
Text('تاريخ الحظر: ${passenger['created_at']}'),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
trailing: IconButton(
|
||||||
|
icon: const Icon(Icons.settings_backup_restore,
|
||||||
|
color: Colors.green),
|
||||||
|
onPressed: () {
|
||||||
|
_showUnblockDialog(
|
||||||
|
Get.context!,
|
||||||
|
'راكب',
|
||||||
|
passenger['phone_normalized'],
|
||||||
|
() => controller.unblockPassenger(
|
||||||
|
passenger['phone_normalized'].toString()),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _showUnblockDialog(BuildContext context, String type, String identifier,
|
||||||
|
VoidCallback onConfirm) {
|
||||||
|
Get.defaultDialog(
|
||||||
|
title: "تأكيد فك الحظر",
|
||||||
|
middleText:
|
||||||
|
"هل أنت متأكد من فك الحظر عن هذا ال$type ($identifier)؟\nسيتم تسجيل هذه العملية في الـ Audit Log.",
|
||||||
|
textConfirm: "نعم، فك الحظر",
|
||||||
|
textCancel: "تراجع",
|
||||||
|
confirmTextColor: Colors.white,
|
||||||
|
buttonColor: Colors.green,
|
||||||
|
onConfirm: () {
|
||||||
|
Get.back();
|
||||||
|
onConfirm();
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
240
lib/views/admin/quality/driver_scorecard_page.dart
Normal file
240
lib/views/admin/quality/driver_scorecard_page.dart
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import '../../../controller/admin/quality_controller.dart';
|
||||||
|
|
||||||
|
class DriverScorecardPage extends StatelessWidget {
|
||||||
|
final String driverId;
|
||||||
|
const DriverScorecardPage({super.key, required this.driverId});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
QualityController controller = Get.put(QualityController());
|
||||||
|
// Fetch data when page opens
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
controller.fetchDriverScorecard(driverId);
|
||||||
|
});
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('بطاقة أداء السائق',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
backgroundColor: Colors.blueAccent,
|
||||||
|
),
|
||||||
|
body: GetBuilder<QualityController>(
|
||||||
|
builder: (controller) {
|
||||||
|
if (controller.isLoading) {
|
||||||
|
return const Center(child: CircularProgressIndicator());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (controller.scorecardData.isEmpty) {
|
||||||
|
return const Center(
|
||||||
|
child: Text('لا توجد بيانات لهذا السائق أو حدث خطأ.'));
|
||||||
|
}
|
||||||
|
|
||||||
|
var basicInfo = controller.scorecardData['basic_info'];
|
||||||
|
var ridesStats = controller.scorecardData['rides_stats'];
|
||||||
|
var rating = controller.scorecardData['rating'];
|
||||||
|
var behavior = controller.scorecardData['behavior'];
|
||||||
|
var complaints = controller.scorecardData['complaints'];
|
||||||
|
num overallScore = controller.scorecardData['overall_score'] ?? 0;
|
||||||
|
|
||||||
|
Color scoreColor = _getScoreColor(overallScore);
|
||||||
|
|
||||||
|
return SingleChildScrollView(
|
||||||
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
// رأس البطاقة - معلومات السائق والتقييم الإجمالي
|
||||||
|
Card(
|
||||||
|
elevation: 4,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(15)),
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
CircleAvatar(
|
||||||
|
radius: 40,
|
||||||
|
backgroundColor: Colors.grey.shade300,
|
||||||
|
child: const Icon(Icons.person,
|
||||||
|
size: 50, color: Colors.white),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
Text(
|
||||||
|
'${basicInfo['first_name']} ${basicInfo['last_name']}',
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 22, fontWeight: FontWeight.bold)),
|
||||||
|
Text('هاتف: ${basicInfo['phone']}',
|
||||||
|
style: const TextStyle(color: Colors.grey)),
|
||||||
|
const Divider(height: 30),
|
||||||
|
Text('التقييم الشامل (Score)',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 18, color: Colors.grey.shade700)),
|
||||||
|
const SizedBox(height: 5),
|
||||||
|
Stack(
|
||||||
|
alignment: Alignment.center,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
child: CircularProgressIndicator(
|
||||||
|
value: overallScore / 100,
|
||||||
|
strokeWidth: 10,
|
||||||
|
backgroundColor: Colors.grey.shade200,
|
||||||
|
color: scoreColor,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text('${overallScore.toStringAsFixed(1)}%',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 24,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
color: scoreColor)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 15),
|
||||||
|
|
||||||
|
// قسم إحصائيات الرحلات
|
||||||
|
_buildSectionTitle('إحصائيات الرحلات (الإنجاز)'),
|
||||||
|
Card(
|
||||||
|
elevation: 2,
|
||||||
|
child: ListTile(
|
||||||
|
leading: const Icon(Icons.drive_eta, color: Colors.blue),
|
||||||
|
title: const Text('نسبة الإنجاز'),
|
||||||
|
trailing: Text('${ridesStats['completion_rate']}%',
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 18, fontWeight: FontWeight.bold)),
|
||||||
|
subtitle: Text(
|
||||||
|
'إجمالي: ${ridesStats['total_rides']} | اكتمل: ${ridesStats['completed_rides']}\n'
|
||||||
|
'إلغاء سائق: ${ridesStats['driver_cancellations']} | إلغاء راكب: ${ridesStats['passenger_cancellations']}'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
|
||||||
|
// قسم التقييم والشكاوى
|
||||||
|
_buildSectionTitle('رضا العملاء والشكاوى'),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Card(
|
||||||
|
elevation: 2,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(12.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
const Icon(Icons.star,
|
||||||
|
color: Colors.orange, size: 30),
|
||||||
|
const SizedBox(height: 5),
|
||||||
|
Text('${rating.toString()}/5.0',
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 20,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
const Text('متوسط التقييم',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 12, color: Colors.grey)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Card(
|
||||||
|
elevation: 2,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(12.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
const Icon(Icons.warning,
|
||||||
|
color: Colors.redAccent, size: 30),
|
||||||
|
const SizedBox(height: 5),
|
||||||
|
Text('${complaints['total_complaints']} شكوى',
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 20,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
Text('${complaints['open_complaints']} مفتوحة',
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 12, color: Colors.red)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
|
||||||
|
const SizedBox(height: 10),
|
||||||
|
|
||||||
|
// قسم سلوك القيادة
|
||||||
|
_buildSectionTitle('سلوك القيادة والتتبع'),
|
||||||
|
Card(
|
||||||
|
elevation: 2,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(12.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
_buildBehaviorRow('متوسط سرعة السائق',
|
||||||
|
'${behavior['avg_max_speed']} كم/س', Icons.speed),
|
||||||
|
const Divider(),
|
||||||
|
_buildBehaviorRow(
|
||||||
|
'مرات الفرملة القاسية',
|
||||||
|
'${behavior['total_hard_brakes']}',
|
||||||
|
Icons.dangerous),
|
||||||
|
const Divider(),
|
||||||
|
_buildBehaviorRow(
|
||||||
|
'تسارع مفاجئ',
|
||||||
|
'${behavior['total_rapid_accel']}',
|
||||||
|
Icons.fast_forward),
|
||||||
|
const Divider(),
|
||||||
|
_buildBehaviorRow('تقييم السلوك الآلي',
|
||||||
|
'${behavior['avg_behavior_score']}%', Icons.memory),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSectionTitle(String title) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(vertical: 8.0, horizontal: 4.0),
|
||||||
|
child: Text(title,
|
||||||
|
style: const TextStyle(
|
||||||
|
fontSize: 18,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
color: Colors.black87)),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildBehaviorRow(String title, String value, IconData icon) {
|
||||||
|
return Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Icon(icon, size: 20, color: Colors.grey.shade600),
|
||||||
|
const SizedBox(width: 8),
|
||||||
|
Text(title, style: const TextStyle(fontSize: 15)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Text(value,
|
||||||
|
style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold)),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Color _getScoreColor(num score) {
|
||||||
|
if (score >= 80) return Colors.green;
|
||||||
|
if (score >= 60) return Colors.orange;
|
||||||
|
return Colors.red;
|
||||||
|
}
|
||||||
|
}
|
||||||
121
lib/views/admin/security/audit_logs_page.dart
Normal file
121
lib/views/admin/security/audit_logs_page.dart
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/colors.dart';
|
||||||
|
import 'package:sefer_admin1/controller/admin/security_v2_controller.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
class AuditLogsPage extends StatelessWidget {
|
||||||
|
const AuditLogsPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final controller = Get.put(SecurityV2Controller());
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColor.bg,
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('سجل العمليات (Audit Logs)',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
backgroundColor: AppColor.surface,
|
||||||
|
elevation: 0,
|
||||||
|
centerTitle: true,
|
||||||
|
),
|
||||||
|
body: GetBuilder<SecurityV2Controller>(
|
||||||
|
builder: (ctrl) {
|
||||||
|
if (ctrl.isLoading) {
|
||||||
|
return const Center(
|
||||||
|
child: CircularProgressIndicator(color: AppColor.accent));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ctrl.auditLogs.isEmpty) {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Icon(Icons.security_rounded,
|
||||||
|
size: 64, color: AppColor.textSecondary.withOpacity(0.3)),
|
||||||
|
const SizedBox(height: 16),
|
||||||
|
const Text('لا توجد عمليات مسجلة حالياً',
|
||||||
|
style: TextStyle(color: AppColor.textSecondary)),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
const Text(
|
||||||
|
'تأكد من إنشاء جدول سجل العمليات في قاعدة البيانات',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 10)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ListView.builder(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
itemCount: ctrl.auditLogs.length,
|
||||||
|
itemBuilder: (ctx, i) {
|
||||||
|
final log = ctrl.auditLogs[i];
|
||||||
|
return _buildLogItem(log);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildLogItem(Map<String, dynamic> log) {
|
||||||
|
return Container(
|
||||||
|
margin: const EdgeInsets.only(bottom: 12),
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(16),
|
||||||
|
border: Border.all(color: AppColor.divider),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(log['admin_name'] ?? 'أدمن غير معروف',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.accent, fontWeight: FontWeight.bold)),
|
||||||
|
Text(log['created_at'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 11)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
Text(log['action'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary, fontWeight: FontWeight.w600)),
|
||||||
|
if (log['details'] != null) ...[
|
||||||
|
const SizedBox(height: 4),
|
||||||
|
Text(log['details'],
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 12)),
|
||||||
|
],
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.info.withOpacity(0.1),
|
||||||
|
borderRadius: BorderRadius.circular(6),
|
||||||
|
),
|
||||||
|
child: Text(log['table_name'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.info,
|
||||||
|
fontSize: 10,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 8),
|
||||||
|
Text('ID: ${log['record_id']}',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 10)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
323
lib/views/admin/static/advanced_analytics_page.dart
Normal file
323
lib/views/admin/static/advanced_analytics_page.dart
Normal file
@@ -0,0 +1,323 @@
|
|||||||
|
import 'package:fl_chart/fl_chart.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:sefer_admin1/constant/colors.dart';
|
||||||
|
import 'package:sefer_admin1/controller/admin/analytics_v2_controller.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
class AdvancedAnalyticsPage extends StatelessWidget {
|
||||||
|
const AdvancedAnalyticsPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final controller = Get.put(AnalyticsV2Controller());
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColor.bg,
|
||||||
|
appBar: AppBar(
|
||||||
|
title: const Text('التحليلات المتقدمة',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold)),
|
||||||
|
backgroundColor: AppColor.surface,
|
||||||
|
elevation: 0,
|
||||||
|
centerTitle: true,
|
||||||
|
actions: [
|
||||||
|
IconButton(
|
||||||
|
icon: const Icon(Icons.refresh_rounded),
|
||||||
|
onPressed: () => controller.fetchAllAnalytics(),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: GetBuilder<AnalyticsV2Controller>(
|
||||||
|
builder: (ctrl) {
|
||||||
|
if (ctrl.isLoading) {
|
||||||
|
return const Center(
|
||||||
|
child: CircularProgressIndicator(color: AppColor.accent));
|
||||||
|
}
|
||||||
|
|
||||||
|
return SingleChildScrollView(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_buildSummarySection(ctrl.revenueData['summary']),
|
||||||
|
const SizedBox(height: 24),
|
||||||
|
_buildSectionTitle('إيرادات آخر 30 يوم'),
|
||||||
|
_buildRevenueChart(ctrl.revenueData['daily'] ?? []),
|
||||||
|
const SizedBox(height: 32),
|
||||||
|
_buildSectionTitle('نمو المستخدمين (آخر 30 يوم)'),
|
||||||
|
_buildGrowthChart(ctrl.growthData),
|
||||||
|
const SizedBox(height: 32),
|
||||||
|
_buildSectionTitle('أفضل 10 سائقين (حسب الرحلات)'),
|
||||||
|
_buildTopDriversList(ctrl.topDrivers),
|
||||||
|
const SizedBox(height: 40),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSectionTitle(String title) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.only(bottom: 16),
|
||||||
|
child: Text(
|
||||||
|
title,
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontSize: 16,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSummarySection(Map<String, dynamic>? summary) {
|
||||||
|
if (summary == null) return const SizedBox();
|
||||||
|
|
||||||
|
return Row(
|
||||||
|
children: [
|
||||||
|
_buildSummaryCard('إجمالي الإيرادات',
|
||||||
|
'${summary['total_revenue_all'] ?? 0}', AppColor.info),
|
||||||
|
const SizedBox(width: 12),
|
||||||
|
_buildSummaryCard('صافي الربح', '${summary['total_profit_all'] ?? 0}',
|
||||||
|
AppColor.success),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildSummaryCard(String title, String value, Color color) {
|
||||||
|
return Expanded(
|
||||||
|
child: Container(
|
||||||
|
padding: const EdgeInsets.all(20),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(20),
|
||||||
|
border: Border.all(color: color.withOpacity(0.3)),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(title,
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 12)),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
Text(value,
|
||||||
|
style: TextStyle(
|
||||||
|
color: color, fontSize: 22, fontWeight: FontWeight.bold)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildRevenueChart(List<dynamic> daily) {
|
||||||
|
if (daily.isEmpty) return const Center(child: Text('لا توجد بيانات'));
|
||||||
|
|
||||||
|
List<FlSpot> revenueSpots = [];
|
||||||
|
List<FlSpot> profitSpots = [];
|
||||||
|
|
||||||
|
for (int i = 0; i < daily.length; i++) {
|
||||||
|
revenueSpots.add(FlSpot(i.toDouble(),
|
||||||
|
double.tryParse(daily[i]['total_revenue'].toString()) ?? 0));
|
||||||
|
profitSpots.add(FlSpot(i.toDouble(),
|
||||||
|
double.tryParse(daily[i]['company_profit'].toString()) ?? 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
height: 300,
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(24),
|
||||||
|
),
|
||||||
|
child: LineChart(
|
||||||
|
LineChartData(
|
||||||
|
gridData: FlGridData(
|
||||||
|
show: true,
|
||||||
|
drawVerticalLine: false,
|
||||||
|
getDrawingHorizontalLine: (v) =>
|
||||||
|
FlLine(color: AppColor.divider, strokeWidth: 1)),
|
||||||
|
titlesData: FlTitlesData(
|
||||||
|
show: true,
|
||||||
|
rightTitles:
|
||||||
|
const AxisTitles(sideTitles: SideTitles(showTitles: false)),
|
||||||
|
topTitles:
|
||||||
|
const AxisTitles(sideTitles: SideTitles(showTitles: false)),
|
||||||
|
bottomTitles: AxisTitles(
|
||||||
|
sideTitles: SideTitles(
|
||||||
|
showTitles: true,
|
||||||
|
getTitlesWidget: (val, meta) {
|
||||||
|
if (val.toInt() % 7 == 0 && val.toInt() < daily.length) {
|
||||||
|
return Text(
|
||||||
|
daily[val.toInt()]['date'].toString().substring(8),
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 10));
|
||||||
|
}
|
||||||
|
return const SizedBox();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
borderData: FlBorderData(show: false),
|
||||||
|
lineBarsData: [
|
||||||
|
LineChartBarData(
|
||||||
|
spots: revenueSpots,
|
||||||
|
isCurved: true,
|
||||||
|
color: AppColor.info,
|
||||||
|
barWidth: 3,
|
||||||
|
isStrokeCapRound: true,
|
||||||
|
dotData: const FlDotData(show: false),
|
||||||
|
belowBarData: BarAreaData(
|
||||||
|
show: true, color: AppColor.info.withOpacity(0.1)),
|
||||||
|
),
|
||||||
|
LineChartBarData(
|
||||||
|
spots: profitSpots,
|
||||||
|
isCurved: true,
|
||||||
|
color: AppColor.success,
|
||||||
|
barWidth: 3,
|
||||||
|
isStrokeCapRound: true,
|
||||||
|
dotData: const FlDotData(show: false),
|
||||||
|
belowBarData: BarAreaData(
|
||||||
|
show: true, color: AppColor.success.withOpacity(0.1)),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildGrowthChart(Map<String, dynamic> data) {
|
||||||
|
final passengers = data['passenger_daily'] as List<dynamic>? ?? [];
|
||||||
|
final drivers = data['driver_daily'] as List<dynamic>? ?? [];
|
||||||
|
|
||||||
|
if (passengers.isEmpty && drivers.isEmpty)
|
||||||
|
return const Center(child: Text('لا توجد بيانات'));
|
||||||
|
|
||||||
|
List<BarChartGroupData> barGroups = [];
|
||||||
|
int maxLength =
|
||||||
|
passengers.length > drivers.length ? passengers.length : drivers.length;
|
||||||
|
|
||||||
|
for (int i = 0; i < maxLength; i++) {
|
||||||
|
double pCount = i < passengers.length
|
||||||
|
? double.tryParse(passengers[i]['new_passengers'].toString()) ?? 0
|
||||||
|
: 0;
|
||||||
|
double dCount = i < drivers.length
|
||||||
|
? double.tryParse(drivers[i]['new_drivers'].toString()) ?? 0
|
||||||
|
: 0;
|
||||||
|
|
||||||
|
barGroups.add(
|
||||||
|
BarChartGroupData(
|
||||||
|
x: i,
|
||||||
|
barRods: [
|
||||||
|
BarChartRodData(
|
||||||
|
toY: pCount,
|
||||||
|
color: AppColor.info,
|
||||||
|
width: 8,
|
||||||
|
borderRadius: BorderRadius.circular(4)),
|
||||||
|
BarChartRodData(
|
||||||
|
toY: dCount,
|
||||||
|
color: AppColor.warning,
|
||||||
|
width: 8,
|
||||||
|
borderRadius: BorderRadius.circular(4)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Container(
|
||||||
|
height: 250,
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(24),
|
||||||
|
),
|
||||||
|
child: BarChart(
|
||||||
|
BarChartData(
|
||||||
|
barGroups: barGroups,
|
||||||
|
borderData: FlBorderData(show: false),
|
||||||
|
titlesData: FlTitlesData(
|
||||||
|
show: true,
|
||||||
|
rightTitles:
|
||||||
|
const AxisTitles(sideTitles: SideTitles(showTitles: false)),
|
||||||
|
topTitles:
|
||||||
|
const AxisTitles(sideTitles: SideTitles(showTitles: false)),
|
||||||
|
bottomTitles: AxisTitles(
|
||||||
|
sideTitles: SideTitles(
|
||||||
|
showTitles: true,
|
||||||
|
getTitlesWidget: (val, meta) {
|
||||||
|
if (val.toInt() % 7 == 0 && val.toInt() < passengers.length) {
|
||||||
|
return Text(
|
||||||
|
passengers[val.toInt()]['date'].toString().substring(8),
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 10));
|
||||||
|
}
|
||||||
|
return const SizedBox();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildTopDriversList(List<dynamic> drivers) {
|
||||||
|
if (drivers.isEmpty) return const Center(child: Text('لا توجد بيانات'));
|
||||||
|
|
||||||
|
return ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
|
itemCount: drivers.length,
|
||||||
|
itemBuilder: (ctx, i) {
|
||||||
|
final d = drivers[i];
|
||||||
|
return Container(
|
||||||
|
margin: const EdgeInsets.only(bottom: 12),
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: AppColor.surface,
|
||||||
|
borderRadius: BorderRadius.circular(16),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
CircleAvatar(
|
||||||
|
backgroundColor: AppColor.accent.withOpacity(0.1),
|
||||||
|
child: Text('${i + 1}',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.accent, fontWeight: FontWeight.bold)),
|
||||||
|
),
|
||||||
|
const SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text('${d['first_name']} ${d['last_name']}',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textPrimary,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
Text(d['phone'] ?? '',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.textSecondary, fontSize: 12)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Text('${d['completed_rides']} رحلة',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.info, fontWeight: FontWeight.bold)),
|
||||||
|
Text('${d['total_revenue']} ج.م',
|
||||||
|
style: const TextStyle(
|
||||||
|
color: AppColor.success,
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.bold)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9869d08c1f6ab0f1f578c518d3eb978f6e","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98070ef502e308559ee469c9d9004ed75b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b5b22bd450a68941ed0367e685c9af68","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989a4fa23dd622fa5c1c7fc12c21b98056","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b5b22bd450a68941ed0367e685c9af68","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/image_picker_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"image_picker_ios","INFOPLIST_FILE":"Target Support Files/image_picker_ios/ResourceBundle-image_picker_ios_privacy-image_picker_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"image_picker_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981692c9629806aaadb30dba34abe09f4b","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9836c280356be8e96ad3ffaf67e6facd3b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98881e52bd45b4e01dadb376c016ef66cb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98970b13e9d4eaabc4a0cb1c879a2dd7f6","guid":"bfdfe7dc352907fc980b868725387e98a3fe14ac142596539b1adae4ae5dbc98"}],"guid":"bfdfe7dc352907fc980b868725387e9810b584cd7e3fbeaeeb43b2f915bbaaf4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98082dc85da1fc941e5234c7cc1f11b27d","name":"image_picker_ios-image_picker_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98cba567c8a049008de84f093e54e3191c","name":"image_picker_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e980d17f06e67cda7662e6902b66670fb55","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesSwift","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"Promises","INFOPLIST_FILE":"Target Support Files/PromisesSwift/ResourceBundle-Promises_Privacy-PromisesSwift-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"Promises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980ed4ff0b53fe874889434ab06b949db6","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9887152997bb63df764b566c6fd134f635","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesSwift","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"Promises","INFOPLIST_FILE":"Target Support Files/PromisesSwift/ResourceBundle-Promises_Privacy-PromisesSwift-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"Promises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9818df4b1736f1d66ccabb3f06208fdabc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9887152997bb63df764b566c6fd134f635","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesSwift","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"Promises","INFOPLIST_FILE":"Target Support Files/PromisesSwift/ResourceBundle-Promises_Privacy-PromisesSwift-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"Promises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9854f1086cdac0827bbfa8232ce9ef7397","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98d3cc864035e26c2adaa727339ca161c1","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989a0ecf6407546646c63c80f336006b66","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ce52da105404cf38f80685caa0194768","guid":"bfdfe7dc352907fc980b868725387e98353cb20872ccb8d8c283ddc71859861d"}],"guid":"bfdfe7dc352907fc980b868725387e981c5f0e40fb250e023dd8f91d592fbef7","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e982423904c0fec8d69fb48f8811a58f1b3","name":"PromisesSwift-Promises_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98aeb750aa70b27aef91e7058e461fb73c","name":"Promises_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9827d12347e72c4ae18fcbef38a78116b2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"13.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b91808fd933eccd5cb02d66a895156ce","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9807b5585f4ff1fa5a585e4a7cc9fe93ee","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"13.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9886e2c8344336bb9362a7e504e35f8f69","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9807b5585f4ff1fa5a585e4a7cc9fe93ee","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/firebase_messaging","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"firebase_messaging","INFOPLIST_FILE":"Target Support Files/firebase_messaging/ResourceBundle-firebase_messaging_Privacy-firebase_messaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"13.0","PRODUCT_NAME":"firebase_messaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98311da732fbe5135b185e87055e3eb73e","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e982fa3e5876868c9083da926c42068fbfe","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984c03e8143ca4f33abf7552e155db4537","type":"com.apple.buildphase.frameworks"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98abe56e5ff172c6a9c8e02c4c501bb39e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e88c7878d35d9aa66dba13a495cef3a4","name":"firebase_messaging-firebase_messaging_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98258f5bb8f6adcf3efba20f9df7cf9fb0","name":"firebase_messaging_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9828b074528a27fee14909597b2c8245ca","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/device_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"device_info_plus","INFOPLIST_FILE":"Target Support Files/device_info_plus/ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"device_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986d295e78198466cad021c25186a0e963","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cca1e9a2df815014b12d3ae9ad8ecdef","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/device_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"device_info_plus","INFOPLIST_FILE":"Target Support Files/device_info_plus/ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"device_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9888da311cc6832ca21d8258f6fc5e714d","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cca1e9a2df815014b12d3ae9ad8ecdef","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/device_info_plus","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"device_info_plus","INFOPLIST_FILE":"Target Support Files/device_info_plus/ResourceBundle-device_info_plus_privacy-device_info_plus-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"device_info_plus_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9836486f663eae7762db00cabcb9ef7a36","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986e8c212c758a2a6ad2343c1e86892daa","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e04f2ac1bcf7e4b499dcb86b2828a19e","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9804d01260d64f395a3700cff9de2c9743","guid":"bfdfe7dc352907fc980b868725387e98ec94f9db9a8d06ba34fb4e8664294845"}],"guid":"bfdfe7dc352907fc980b868725387e98891cfd1bd8058f486a22b6fb4a045fab","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98583f48d08e567205bb589ccf43c23e63","name":"device_info_plus-device_info_plus_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98796fe11972476d5a3ffbbf6850b4991c","name":"device_info_plus_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9852a7a158c623d6958d50018a18e06455","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/flutter_secure_storage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"flutter_secure_storage","INFOPLIST_FILE":"Target Support Files/flutter_secure_storage/ResourceBundle-flutter_secure_storage-flutter_secure_storage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"flutter_secure_storage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9841cd6222b619baff343e760bb4f89e80","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989a7721402c2c8167247ec09e3b4ff354","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/flutter_secure_storage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"flutter_secure_storage","INFOPLIST_FILE":"Target Support Files/flutter_secure_storage/ResourceBundle-flutter_secure_storage-flutter_secure_storage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"flutter_secure_storage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c3aba5e04c6bb6489faa9993e663a7d9","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989a7721402c2c8167247ec09e3b4ff354","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/flutter_secure_storage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"flutter_secure_storage","INFOPLIST_FILE":"Target Support Files/flutter_secure_storage/ResourceBundle-flutter_secure_storage-flutter_secure_storage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"flutter_secure_storage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b1f4e16450d959cd7b80b02adf75f5b9","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980c7502e8f634dd8e00f7793efb4fc72e","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9850016f2e5050b923826f2909cc671bdb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e987957b452cbf706ef41cf94a96a4a6fa7","guid":"bfdfe7dc352907fc980b868725387e9889b175f274f6fda040b474fce82c636a"}],"guid":"bfdfe7dc352907fc980b868725387e98150843a6bfb753b5711edf5d40f27feb","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98a0220561f537715e864e45aed9ae8b8b","name":"flutter_secure_storage-flutter_secure_storage","productReference":{"guid":"bfdfe7dc352907fc980b868725387e989548ba3fd96e73f640dce7442408204f","name":"flutter_secure_storage.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a45aa15bbda659c54d2a1c348aab3b27","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b67c5b87e5dad4579ef90c914f2f1f0c","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e1226228397a7a3f92df650a27f220c2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e7fb98eb274b5791d90e986c54e7ae89","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e1226228397a7a3f92df650a27f220c2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreExtension","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreExtension","INFOPLIST_FILE":"Target Support Files/FirebaseCoreExtension/ResourceBundle-FirebaseCoreExtension_Privacy-FirebaseCoreExtension-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCoreExtension_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98492d00b6d1aaeba0a464d65b69dcbc6f","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c037d36ebe1a9cbb9d376bf86582d50f","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9881264d4918ee35035deb3b198f2dff48","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98a21a15ad436c617520d22755c551152f","guid":"bfdfe7dc352907fc980b868725387e983bd1c021843a9402cff0a795e1ddafe0"}],"guid":"bfdfe7dc352907fc980b868725387e98195348e6af038ddd2685a7940e4d934a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98c04ead258c2ba3f656422d1784107881","name":"FirebaseCoreExtension-FirebaseCoreExtension_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988df9a93510eab8c6f1cb7471d90295f7","name":"FirebaseCoreExtension_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e989836382b6b6d7d4e8821b6dbbffd7dc9","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e5a2d8ba62a9cfa938878d21c8a7eeec","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98025d1e3fae21db30a9cf81d31558a3b5","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9854b7e72d1dcb6121ade67080169889ff","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98025d1e3fae21db30a9cf81d31558a3b5","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCore","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCore","INFOPLIST_FILE":"Target Support Files/FirebaseCore/ResourceBundle-FirebaseCore_Privacy-FirebaseCore-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98ea0ccdb976ef65d2e4a2312b2cae5eac","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e37e9adf9b8731dcc0206d63de35681e","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98d03d18aa30b31ba514730b690302b5c4","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98c659e8c8cbc51367a85d4e3814f7479e","guid":"bfdfe7dc352907fc980b868725387e98c40e5f172b6503b6a850f29d7f6dd8d6"}],"guid":"bfdfe7dc352907fc980b868725387e9874ba0f3443824ca15a591269408ddcce","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98678fb6500ea02c78520816441717cc14","name":"FirebaseCore-FirebaseCore_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981126092e527a43878ba047c0d6b5be37","name":"FirebaseCore_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9845a3f672b9b62f3e740faf06071a5fa4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMAppAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMAppAuth","INFOPLIST_FILE":"Target Support Files/GTMAppAuth/ResourceBundle-GTMAppAuth_Privacy-GTMAppAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMAppAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e986eae4b85c7557be3d79269e75ade2ecc","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984876bc393d14ce0d5223edcfa3dcd8fd","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMAppAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMAppAuth","INFOPLIST_FILE":"Target Support Files/GTMAppAuth/ResourceBundle-GTMAppAuth_Privacy-GTMAppAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","PRODUCT_NAME":"GTMAppAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9817da773473d3ea570d45e8184205c351","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984876bc393d14ce0d5223edcfa3dcd8fd","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMAppAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMAppAuth","INFOPLIST_FILE":"Target Support Files/GTMAppAuth/ResourceBundle-GTMAppAuth_Privacy-GTMAppAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","PRODUCT_NAME":"GTMAppAuth_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98084cef54096aaa18d62890afd5932d9f","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9816aabfb295ac727cc328de1f00b7efad","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9897281a6103177c9d4932d8d9627496c0","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98352125880684789169c05aa1ab828695","guid":"bfdfe7dc352907fc980b868725387e985e86cdc6d4214bc24b640296a7e01cf8"}],"guid":"bfdfe7dc352907fc980b868725387e989c65aeaf3ce7476d650b779da2325b56","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9865af479ae97320e284a27cf831d212b3","name":"GTMAppAuth-GTMAppAuth_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98e6360e40dc59e89c98ab031af57e52cd","name":"GTMAppAuth_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9882fd217f85d681cb52bd553bb33982e4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98739806e40b2a392e3ed2a98a19b98051","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875af5bd951dfb5edc33cb4ff6797bd59","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b9f9866f8ec5b2fb62c13a1a434dca66","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9875af5bd951dfb5edc33cb4ff6797bd59","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/url_launcher_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"url_launcher_ios","INFOPLIST_FILE":"Target Support Files/url_launcher_ios/ResourceBundle-url_launcher_ios_privacy-url_launcher_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"url_launcher_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c54f0a2f962fa017f2ee2f27c325e66e","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98439778b40a9dbd934556f4914f5a0bfc","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9852b09ff30ea2c4e6280118e6994f26da","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e982c892ed0de1e01bb230df92a4dee1f0e","guid":"bfdfe7dc352907fc980b868725387e987e3ee304c44d5430d5e48a85d4423295"}],"guid":"bfdfe7dc352907fc980b868725387e98a4267416b793e970ad96c15a4bb2b959","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9891b3b8cc56823cdea4b418e009a423b2","name":"url_launcher_ios-url_launcher_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9827df8da513ac7d6928fc311b53a7155d","name":"url_launcher_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9824323b9a40a6c4c3302330307a5dadd4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Full_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMSessionFetcher_Full_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9884c80d38a4d6179c2b9e9220f2a0af5b","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e59e7fbe94a11a773693db87753f54d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Full_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","PRODUCT_NAME":"GTMSessionFetcher_Full_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e983f64c4f1be8e6aaf235c1b311f3bc171","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e59e7fbe94a11a773693db87753f54d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Full_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","PRODUCT_NAME":"GTMSessionFetcher_Full_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d3480909c6c75bf9cae6ab6bea42a3fd","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b222feea322981fae0673612bdb29b28","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98741ec2c90c764502a79e15856a8fbd53","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9807a7120646f47f3c231265541b3f1716","guid":"bfdfe7dc352907fc980b868725387e98ca50e4c55bc1dc615a994a67d46d7728"}],"guid":"bfdfe7dc352907fc980b868725387e98489707ac0bb87d009af18bf693078a6e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98d9a0c31ef553ffd1644ea2f5fc087d46","name":"GTMSessionFetcher-GTMSessionFetcher_Full_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e989eab67172ffcb7faa039fae4c252dd63","name":"GTMSessionFetcher_Full_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e988d9cde8169469ac98a4be7dc734941fa","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987bb5a2f041b9930b13dea9daac40450f","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985f5c28af203640e6d549c6a9b2d790a2","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98579c7c10cdc5b3e94357b43ac8b083aa","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e985f5c28af203640e6d549c6a9b2d790a2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseInstallations","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseInstallations","INFOPLIST_FILE":"Target Support Files/FirebaseInstallations/ResourceBundle-FirebaseInstallations_Privacy-FirebaseInstallations-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseInstallations_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e807117072a1de2b0e151063a65610a5","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986fdd0801d8d99396d08a7197b8b43974","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c8ec6ccfbf8a448baf0f38256bde15c3","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98d72ab59e29fef0f378e9c77c924043ff","guid":"bfdfe7dc352907fc980b868725387e98ca9ef7e1a6de0595656f78da730341ff"}],"guid":"bfdfe7dc352907fc980b868725387e9848cfd7419735c1903197c92846865915","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e984535f130e81fa6507008242e4e8916fc","name":"FirebaseInstallations-FirebaseInstallations_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981703d6bed554c9878c28cb40b989a332","name":"FirebaseInstallations_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9821f8eff4d97157eef88d8559c6981c57","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCrashlytics","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCrashlytics","INFOPLIST_FILE":"Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCrashlytics_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b5decf9850f791bd7fcaa3d4530f8402","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984a549c8ff8a7dabde2996d798a36c37c","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCrashlytics","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCrashlytics","INFOPLIST_FILE":"Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCrashlytics_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d87941c94208a2d141de2aafe3153abe","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e984a549c8ff8a7dabde2996d798a36c37c","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCrashlytics","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCrashlytics","INFOPLIST_FILE":"Target Support Files/FirebaseCrashlytics/ResourceBundle-FirebaseCrashlytics_Privacy-FirebaseCrashlytics-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCrashlytics_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981869562453ece8461155c466942ebc87","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9804c9b5d926b97a9134c645605baeafd0","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ff62e08f30fcc9e70e2ecd5076d72c41","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986036bd297b95eba19712ea03822b43ba","guid":"bfdfe7dc352907fc980b868725387e98cbc660c1f76ba8e7f008696fb44c99d9"}],"guid":"bfdfe7dc352907fc980b868725387e98072074476cdab90aef2c55f5841daad6","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e980c5ce7972ce50f1749855d2e6c168f02","name":"FirebaseCrashlytics-FirebaseCrashlytics_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98827124adb724dad9cf103632624cfc7a","name":"FirebaseCrashlytics_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9857d6cba51cfa48edd248ef87c18e5d47","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_sign_in_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_sign_in_ios","INFOPLIST_FILE":"Target Support Files/google_sign_in_ios/ResourceBundle-google_sign_in_ios_privacy-google_sign_in_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"google_sign_in_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981b324cd02aa3b6061801108dc4597580","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9822e61b230432c3c2049bafb96a7cc73d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_sign_in_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_sign_in_ios","INFOPLIST_FILE":"Target Support Files/google_sign_in_ios/ResourceBundle-google_sign_in_ios_privacy-google_sign_in_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"google_sign_in_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98bd3ba08d64898b32a1e6c8e18422ecc1","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9822e61b230432c3c2049bafb96a7cc73d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/google_sign_in_ios","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"google_sign_in_ios","INFOPLIST_FILE":"Target Support Files/google_sign_in_ios/ResourceBundle-google_sign_in_ios_privacy-google_sign_in_ios-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"google_sign_in_ios_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98bc6f0facb62fda9f4ce7a1ddce90da83","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9865e4ccf16a8d823eb8869e80a8277f0b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e984f6a2e5d513262901c6689ea0e8a1181","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98ff1c136bf2c27100ffd29ae5b189952e","guid":"bfdfe7dc352907fc980b868725387e98f843b52d54032e1b828cb9626be967ef"}],"guid":"bfdfe7dc352907fc980b868725387e98b464a20f34d8fe52f182c8e5709f3e7b","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e983c7fa4bfabecc448c813cef02922c100","name":"google_sign_in_ios-google_sign_in_ios_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e983b0eb6bf04eb9be2ba23f1911e7be724","name":"google_sign_in_ios_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9824323b9a40a6c4c3302330307a5dadd4","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98889922458d518ba79ed47890d5e841dc","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e59e7fbe94a11a773693db87753f54d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9820afac3f3889dad2966b659d11f8b99c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981e59e7fbe94a11a773693db87753f54d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GTMSessionFetcher","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GTMSessionFetcher","INFOPLIST_FILE":"Target Support Files/GTMSessionFetcher/ResourceBundle-GTMSessionFetcher_Core_Privacy-GTMSessionFetcher-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"10.0","PRODUCT_NAME":"GTMSessionFetcher_Core_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9878ed668abcdce9bd684af2560d4039c4","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ce1fe6865948c1c5023795a3ef6d4ef4","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e4b7cebc9b53d423c47896b4fd8f188a","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e984fef6e49eb4145b0fef6af5ff0d3175f","guid":"bfdfe7dc352907fc980b868725387e981f87c7918c3f8ea307cefa9693ef0e19"}],"guid":"bfdfe7dc352907fc980b868725387e981ecdff8725e810f14f70e3c08ad08a04","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9801af34ddea6be97d757786022edb34b1","name":"GTMSessionFetcher-GTMSessionFetcher_Core_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984eb2bec9e96ca1b7af92c0697fc4108d","name":"GTMSessionFetcher_Core_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c442ba33d9e6a242f7d8a004ce10f7cf","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981ab92e40fd633e65a75c45e51b4f21d1","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981cf24ccfddd77ffe315642101ebb30cb","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e0bbdcad3cb4b3afc4d580e2a2a05801","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e981cf24ccfddd77ffe315642101ebb30cb","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/PromisesObjC","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FBLPromises","INFOPLIST_FILE":"Target Support Files/PromisesObjC/ResourceBundle-FBLPromises_Privacy-PromisesObjC-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"FBLPromises_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d44760853b7a9dd74add55b519ab0f42","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9885a4e15c0f0640f0e600b6f7c09c8258","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9837e85b37301b48332031cf3dba4ba15d","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e981bc238d8d5119a9ff3e33752809e8e99","guid":"bfdfe7dc352907fc980b868725387e98304b04d3fd9396336303fa486b03c868"}],"guid":"bfdfe7dc352907fc980b868725387e98def444b24970b02b132d9d3c065830dc","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98ad53226b339581a6725de188f2c8f823","name":"PromisesObjC-FBLPromises_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9867729fb6a85d4c069a179d51db31501d","name":"FBLPromises_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98d85cab6940b0e62a1c78ab06ba09aa5a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9805f481e46c05329373618bdd7d26798a","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9887a1f0e2b368890f5dc841807adbc895","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98b63f87c1a247873f7696163ff9418ac7","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9887a1f0e2b368890f5dc841807adbc895","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/nanopb","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"nanopb","INFOPLIST_FILE":"Target Support Files/nanopb/ResourceBundle-nanopb_Privacy-nanopb-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"nanopb_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e989d8d76e0330d257cf9f9f19667a394ae","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98b46b6617e9cdd11800008d0e77c7784b","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e989ed329d1ffae3019da7cce0470761976","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e987e5af253de68f19955f8e5b6a5a4b1e6","guid":"bfdfe7dc352907fc980b868725387e983883ed9adc979af3843bfcac4f6abf42"}],"guid":"bfdfe7dc352907fc980b868725387e984fd398b11b01e1a454c7b20618ed00d0","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98c9e4d77647dbd2f60d4df5fb297112b6","name":"nanopb-nanopb_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98eef91895065d6940077eed40aa23053b","name":"nanopb_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98552f65beeef92227d78d3fa91333e3b8","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988e1257fd559fea87651def130d71836e","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a70a4e298733df5b0061987b09b29e17","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c3703c321a52d247d70826b0d93620e3","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a70a4e298733df5b0061987b09b29e17","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleDataTransport","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleDataTransport","INFOPLIST_FILE":"Target Support Files/GoogleDataTransport/ResourceBundle-GoogleDataTransport_Privacy-GoogleDataTransport-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleDataTransport_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e980b473d1dcc71214f8b4bba3f35324f8b","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98a178a4f99342ba8b2d8b0ac9648e2649","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9848fccf5d11ab095e9044502693b541b8","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9802f242d022cefeebf9b257c7708166d0","guid":"bfdfe7dc352907fc980b868725387e98a4e7ed6cb1a5b15584b73ae5e8b9be19"}],"guid":"bfdfe7dc352907fc980b868725387e98a60fb58fbd0766f163288ec7e6b630c4","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98bb3e3ebadbb0b9a8a4f20f605e3cb3cb","name":"GoogleDataTransport-GoogleDataTransport_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e988384e3ef3584a97142df3583f18d4cf4","name":"GoogleDataTransport_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b1b17d4d32ce70251fef0bf45f6e44bf","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"13.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987ab513bd560a5b892ba16b5a95ce8975","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98754d26c3c015894f209b69ea17400f70","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"13.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e987d11a21180979fbf9e39b8b411985148","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98754d26c3c015894f209b69ea17400f70","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseMessaging","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseMessaging","INFOPLIST_FILE":"Target Support Files/FirebaseMessaging/ResourceBundle-FirebaseMessaging_Privacy-FirebaseMessaging-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"13.0","PRODUCT_NAME":"FirebaseMessaging_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9891c14a7fa13b829a16b92b178fe30b10","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e79976814b01b49230e0f36dce7827cd","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980d6420dd78851e2ab4494bbaecb6dcbb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9896e44195d1cb90bf805d184ee3ddb42d","guid":"bfdfe7dc352907fc980b868725387e987921b3eac470302dcc314b003e08ca60"}],"guid":"bfdfe7dc352907fc980b868725387e98f2b60bb6a9d5c5ade84951da42eb4832","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98974c3b2447afb83a5c25c38d101a48ab","name":"FirebaseMessaging-FirebaseMessaging_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e984d4894a83a9677ff019175cbd19979f5","name":"FirebaseMessaging_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98c48b9349deeef75791a8e33ccdf0db34","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e98060f230e6ef8ea7984df300c75cf32cf","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9827d548b5078e9a9d1dcf63b3ccf4aaf7","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98d96e018f74922f14811a301b9d8e565c","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9827d548b5078e9a9d1dcf63b3ccf4aaf7","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"13.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e985062df5643327cdd41e0090ec9473166","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[{"guid":"bfdfe7dc352907fc980b868725387e98a408a4c1f668e62161cdeba76f57d50c","name":"FirebaseCore"},{"guid":"bfdfe7dc352907fc980b868725387e986f81f65466c0a2e7395c158e76999d58","name":"FirebaseCrashlytics"},{"guid":"bfdfe7dc352907fc980b868725387e983da17a3564c774dfaa331fa07754d2bc","name":"FirebaseMessaging"}],"guid":"bfdfe7dc352907fc980b868725387e98d57b8bce60a0f11113f4cff532db68d3","name":"Firebase","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98e947d539482008ec8b2d3be784101c99","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SDWebImage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SDWebImage","INFOPLIST_FILE":"Target Support Files/SDWebImage/ResourceBundle-SDWebImage-SDWebImage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98d75d3556abb5e0614917fa2055064194","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fe9c3ae5079df670a9d3785d92092e9d","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SDWebImage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SDWebImage","INFOPLIST_FILE":"Target Support Files/SDWebImage/ResourceBundle-SDWebImage-SDWebImage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98cc241f9ada8737ff5ee8e52dcfe8822b","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98fe9c3ae5079df670a9d3785d92092e9d","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SDWebImage","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"SDWebImage","INFOPLIST_FILE":"Target Support Files/SDWebImage/ResourceBundle-SDWebImage-SDWebImage-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"SDWebImage","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988ff6b16c27baa9de3878cb9ce1268ab3","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98c5dec84345d589d7e41d703961c4dfc2","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9871a01ab9d7dfcf99dbcb24235335cf47","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98b207ffaa1a5ecb7a821c79e778e130bb","guid":"bfdfe7dc352907fc980b868725387e98560b7de88fb40a1d99e44649ae604dfd"}],"guid":"bfdfe7dc352907fc980b868725387e98720d7bf2d537e4680265bb77a000706e","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9826e2628dc041aabe2d77e75ccb1dc95b","name":"SDWebImage-SDWebImage","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986798c379d76b6055dc2d719d4bd63a69","name":"SDWebImage.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98faa6eeb6b43c1641b175f0820e95c18b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98eae06f4759fe9167725e9b2732dcc5a6","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9865c0b88fdc4ad15ed99614e597e90c30","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e981b49603b8209e9483ab867bbcd6a39fc","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9865c0b88fdc4ad15ed99614e597e90c30","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FirebaseCoreInternal","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"FirebaseCoreInternal","INFOPLIST_FILE":"Target Support Files/FirebaseCoreInternal/ResourceBundle-FirebaseCoreInternal_Privacy-FirebaseCoreInternal-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"FirebaseCoreInternal_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98eaf32433903688722cf43ef62cd3b19e","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98228acfe9045b43584711e0e42d92012c","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98afd1453fcf702502ba8d3c3f0b55ae61","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e989020045606a4c388bba1a26578e75992","guid":"bfdfe7dc352907fc980b868725387e9829d9fa3ea1c45d139e6439d8729c6171"}],"guid":"bfdfe7dc352907fc980b868725387e98d5944c4c6b145a91a2dbda2e4c985c31","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98e5b592b076e092ab7ac9d9b5c85edc6f","name":"FirebaseCoreInternal-FirebaseCoreInternal_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e98c4db3ee10fd3aea38cd0fd6d5693c776","name":"FirebaseCoreInternal_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e986d8e222f9b2bf6f371f97aedc5faf4a9","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c8e0bd3990779553584a2977d4780a94","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9835404aa3b313143310c6ca6fde184ae1","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9824962ebbea6934ca36b274e133b4fff6","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9835404aa3b313143310c6ca6fde184ae1","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/path_provider_foundation","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"path_provider_foundation","INFOPLIST_FILE":"Target Support Files/path_provider_foundation/ResourceBundle-path_provider_foundation_privacy-path_provider_foundation-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"path_provider_foundation_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9823bc58d8255ef6e4893ff6013bc94129","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e986f082fb56146e8f8c1b011a5968f531e","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98e22c3d5a0a612382e2a66c2b4c5e153e","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98286b3e148f725914c50968c6bd1e9010","guid":"bfdfe7dc352907fc980b868725387e98a4d054cb89b49860c510c68b0a8e70e8"}],"guid":"bfdfe7dc352907fc980b868725387e98978ef0f8eda7bc663538232d4fbeed7a","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e987ea64ee8d53085bf9edd1a57aaf8cbb5","name":"path_provider_foundation-path_provider_foundation_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986e649604f74c414a7c2dbe5ef4cc4e75","name":"path_provider_foundation_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e983528ce557446028402c3b9d7fd8e1e45","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/local_auth_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"local_auth_darwin","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"local_auth_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988be98b6b98677309f59c2f2d387028b1","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9825a0c80d15f9487141e97074332c4721","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/local_auth_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"local_auth_darwin","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"local_auth_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9835d0d91e717b8ecc75a68c783f39a95a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9825a0c80d15f9487141e97074332c4721","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/local_auth_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"local_auth_darwin","INFOPLIST_FILE":"Target Support Files/local_auth_darwin/ResourceBundle-local_auth_darwin_privacy-local_auth_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"local_auth_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e988e44eefb65571ffc973cb6933a5ef205","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e985a52b2b95ec86f592897a32e0d81925f","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980ec0236bdbde80d33fec96fddc5556cf","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9837deb11a1af00da47fcdc6a3435f5e99","guid":"bfdfe7dc352907fc980b868725387e98c5d0e4c3980f18358956cbffbe977b1c"}],"guid":"bfdfe7dc352907fc980b868725387e98b3d005f6cc88959237a1f7af1da141b7","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98afb8e8e2ed6a0ef9cb1d99282c22f170","name":"local_auth_darwin-local_auth_darwin_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9899e37153e5b26774a3fd38635d02a847","name":"local_auth_darwin_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98dd69ce9c33253055bec0eb337283c12b","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98cd13c7eb7c9d3b9168be02329b537f25","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cf3a449435470e888cdaad71c68f37bc","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98a972916de61e5e47dd7bb04b5685a7a3","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98cf3a449435470e888cdaad71c68f37bc","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/sqflite_darwin","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"sqflite_darwin","INFOPLIST_FILE":"Target Support Files/sqflite_darwin/ResourceBundle-sqflite_darwin_privacy-sqflite_darwin-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"sqflite_darwin_privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98e94b762e48ca8da16765e95460c64844","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9805835cccd0f790ff3e871a57fdd9c68f","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98cd011b7f94cb1a8440da0b0f3703bbbb","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e98964a01bd6e6a2e0683a380e7bc50dc31","guid":"bfdfe7dc352907fc980b868725387e98673ed33c59da1b679ec902cf81eb1eae"}],"guid":"bfdfe7dc352907fc980b868725387e987fe2c6ad79a77a385bd1442e0019f641","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e9883134bb5f399cb37a1eb075d4fea30d8","name":"sqflite_darwin-sqflite_darwin_privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e9849c1d4b1200fcbf6f387f94121c7d0bf","name":"sqflite_darwin_privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98878c9ffba3802de89113328adc0049b2","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fd5ab8629a00bca3696a6f221b5fc372","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9864f9572d79ee238e48cfcab4ec99a97a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98c3574378c68a0d65aa1c3bb2d6d74e69","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9864f9572d79ee238e48cfcab4ec99a97a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/GoogleUtilities","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"GoogleUtilities","INFOPLIST_FILE":"Target Support Files/GoogleUtilities/ResourceBundle-GoogleUtilities_Privacy-GoogleUtilities-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"12.0","PRODUCT_NAME":"GoogleUtilities_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e9838311bef7cc6ce2f1ba6bef557651185","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9890cc04df0f31a63086f27056b418ed7f","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e980af34fc13af4b6eb6e935521cf324738","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e986fad84c61bab3cf531eed8f9972c3254","guid":"bfdfe7dc352907fc980b868725387e982b18e55f244412dda5112f783b05d8ff"}],"guid":"bfdfe7dc352907fc980b868725387e988263ea81fe1248aa898743b16c643e85","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e981a9fac6eb9c80f8eed49fda0531af6a4","name":"GoogleUtilities-GoogleUtilities_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e981f1852a7971aaa5e479d216071487d3a","name":"GoogleUtilities_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98f351c1966567cc4da2fb4715a241040a","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","ONLY_ACTIVE_ARCH":"NO","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2"},"guid":"bfdfe7dc352907fc980b868725387e982cf0da236cf10d087750aa1434da9227","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a34aee1e2c96f7455b6fae65b1cae5a9","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e98cc28f154213fd8181aa70d4c188a8335","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98a34aee1e2c96f7455b6fae65b1cae5a9","buildSettings":{"ASSETCATALOG_COMPILER_APPICON_NAME":"AppIcon","ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME":"AccentColor","CLANG_ENABLE_OBJC_WEAK":"NO","ENABLE_USER_SCRIPT_SANDBOXING":"NO","IPHONEOS_DEPLOYMENT_TARGET":"12.0","LD_RUNPATH_SEARCH_PATHS":"$(inherited) @executable_path/Frameworks","SDKROOT":"iphoneos","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES"},"guid":"bfdfe7dc352907fc980b868725387e981f19fefc6e52ad9e4e005a2248234387","name":"Release"}],"buildPhases":[],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e989da425bb6d6d5d8dbb95e4afffb82217","name":"Flutter","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","provisioningStyle":0}],"type":"aggregate"}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"buildConfigurations":[{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e9880ccd70a5581ec47930de1b8f8a633ea","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/AppAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"AppAuth","INFOPLIST_FILE":"Target Support Files/AppAuth/ResourceBundle-AppAuthCore_Privacy-AppAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","ONLY_ACTIVE_ARCH":"NO","PRODUCT_NAME":"AppAuthCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e982a068eddbb75e92a3f51c9c985556671","name":"Debug"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b138d85d03d5ac895fdc4827b7c9e95a","buildSettings":{"CLANG_ENABLE_OBJC_WEAK":"NO","CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/AppAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"AppAuth","INFOPLIST_FILE":"Target Support Files/AppAuth/ResourceBundle-AppAuthCore_Privacy-AppAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"AppAuthCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","VALIDATE_PRODUCT":"YES","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98fa835f9853aba0dca49cb55521ac367a","name":"Profile"},{"baseConfigurationFileReference":"bfdfe7dc352907fc980b868725387e98b138d85d03d5ac895fdc4827b7c9e95a","buildSettings":{"CODE_SIGNING_ALLOWED":"NO","CODE_SIGNING_IDENTITY":"-","CODE_SIGNING_REQUIRED":"NO","CONFIGURATION_BUILD_DIR":"$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/AppAuth","EXPANDED_CODE_SIGN_IDENTITY":"-","IBSC_MODULE":"AppAuth","INFOPLIST_FILE":"Target Support Files/AppAuth/ResourceBundle-AppAuthCore_Privacy-AppAuth-Info.plist","IPHONEOS_DEPLOYMENT_TARGET":"9.0","PRODUCT_NAME":"AppAuthCore_Privacy","SDKROOT":"iphoneos","SKIP_INSTALL":"YES","TARGETED_DEVICE_FAMILY":"1,2","WRAPPER_EXTENSION":"bundle"},"guid":"bfdfe7dc352907fc980b868725387e98965b8591571715537ce4802c3de9f941","name":"Release"}],"buildPhases":[{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e98ad78e7bb51b76b25b46a192f7f046731","type":"com.apple.buildphase.sources"},{"buildFiles":[],"guid":"bfdfe7dc352907fc980b868725387e9853ca3082bd1a0061bb4d3689b1ea26a5","type":"com.apple.buildphase.frameworks"},{"buildFiles":[{"fileReference":"bfdfe7dc352907fc980b868725387e9872bd2fb9a44128921a4bf241c4f9a575","guid":"bfdfe7dc352907fc980b868725387e98c0c8d6fbf22a4eecc35b8d9009958722"}],"guid":"bfdfe7dc352907fc980b868725387e98c022c79adedafbfee4386675fec89f55","type":"com.apple.buildphase.resources"}],"buildRules":[],"dependencies":[],"guid":"bfdfe7dc352907fc980b868725387e98410c96b4e26fc36411e63b84c3491605","name":"AppAuth-AppAuthCore_Privacy","productReference":{"guid":"bfdfe7dc352907fc980b868725387e986d566b0f46776138a3ba88837e01b2bf","name":"AppAuthCore_Privacy.bundle","type":"product"},"productTypeIdentifier":"com.apple.product-type.bundle","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Debug","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Profile","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"${PRODUCT_BUNDLE_IDENTIFIER}","configurationName":"Release","provisioningStyle":0}],"type":"standard"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"guid":"dc4b70c03e8043e50e38f2068887b1d4","name":"Pods","path":"/Users/hamzaaleghwairyeen/development/App/intaleq_admin/ios/Pods/Pods.xcodeproj/project.xcworkspace","projects":["PROJECT@v11_mod=92def39acec663fa565b19e67b94ec26_hash=bfdfe7dc352907fc980b868725387e98plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]}
|
||||||
Reference in New Issue
Block a user