iOS Build #2
This commit is contained in:
@@ -11,6 +11,8 @@ import 'transaction_details_screen.dart';
|
||||
import 'package:pdf/widgets.dart' as pw;
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:share_plus/share_plus.dart';
|
||||
|
||||
class AccountStatementScreen extends StatefulWidget {
|
||||
final String accountNo;
|
||||
@@ -489,6 +491,20 @@ class _AccountStatementScreen extends State<AccountStatementScreen> {
|
||||
}
|
||||
}
|
||||
// Add for IOS
|
||||
else if (Platform.isIOS) {
|
||||
// On iOS, we save to a temporary directory and then open the share sheet.
|
||||
final tempDir = await getTemporaryDirectory();
|
||||
final file = await File('${tempDir.path}/$fileName').create();
|
||||
await file.writeAsBytes(pdfBytes);
|
||||
|
||||
// Use share_plus to open the iOS share dialog
|
||||
await Share.shareXFiles(
|
||||
[XFile(file.path)],
|
||||
text: 'Account Statement',
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
} catch (e) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
|
||||
@@ -17,13 +17,13 @@ void main() async {
|
||||
]);
|
||||
|
||||
// Check for device compromise
|
||||
final compromisedMessage = await SecurityService.deviceCompromisedMessage;
|
||||
if (compromisedMessage != null) {
|
||||
runApp(MaterialApp(
|
||||
home: SecurityErrorScreen(message: compromisedMessage),
|
||||
));
|
||||
return;
|
||||
}
|
||||
// final compromisedMessage = await SecurityService.deviceCompromisedMessage;
|
||||
// if (compromisedMessage != null) {
|
||||
// runApp(MaterialApp(
|
||||
// home: SecurityErrorScreen(message: compromisedMessage),
|
||||
// ));
|
||||
// return;
|
||||
// }
|
||||
|
||||
// Initialize dependencies
|
||||
await setupDependencies();
|
||||
|
||||
Reference in New Issue
Block a user