Browse Source

Merge branch 'master' of http://git.ycjcjy.com/nanyang/farmer_client

Yansen 1 year ago
parent
commit
dc7d7699eb
92 changed files with 6843 additions and 297 deletions
  1. 41
    0
      ios/Flutter/Flutter.xcframework/Info.plist
  2. BIN
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Flutter
  3. 24
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/Flutter.h
  4. 34
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterAppDelegate.h
  5. 93
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterBinaryMessenger.h
  6. 54
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterCallbackCache.h
  7. 386
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterChannels.h
  8. 476
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterCodecs.h
  9. 84
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterDartProject.h
  10. 442
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterEngine.h
  11. 110
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterEngineGroup.h
  12. 97
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
  13. 48
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterMacros.h
  14. 56
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterPlatformViews.h
  15. 450
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterPlugin.h
  16. 151
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
  17. 62
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterTexture.h
  18. 249
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterViewController.h
  19. 30
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Info.plist
  20. 6
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Modules/module.modulemap
  21. 372
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/_CodeSignature/CodeResources
  22. BIN
      ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/icudtl.dat
  23. BIN
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter
  24. 24
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/Flutter.h
  25. 34
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterAppDelegate.h
  26. 93
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterBinaryMessenger.h
  27. 54
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterCallbackCache.h
  28. 386
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterChannels.h
  29. 476
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterCodecs.h
  30. 84
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterDartProject.h
  31. 442
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterEngine.h
  32. 110
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterEngineGroup.h
  33. 97
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterHeadlessDartRunner.h
  34. 48
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterMacros.h
  35. 56
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterPlatformViews.h
  36. 450
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterPlugin.h
  37. 151
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h
  38. 62
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterTexture.h
  39. 249
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterViewController.h
  40. 30
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Info.plist
  41. 6
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Modules/module.modulemap
  42. 372
    0
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/_CodeSignature/CodeResources
  43. BIN
      ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/icudtl.dat
  44. BIN
      ios/Flutter/gen_snapshot_arm64
  45. BIN
      ios/Flutter/gen_snapshot_armv7
  46. 8
    0
      ios/Podfile
  47. 8
    2
      ios/Runner.xcodeproj/project.pbxproj
  48. 77
    87
      ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
  49. 120
    122
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
  50. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
  51. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
  52. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
  53. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
  54. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
  55. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
  56. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
  57. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
  58. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
  59. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
  60. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
  61. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
  62. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
  63. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
  64. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
  65. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png
  66. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
  67. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
  68. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
  69. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
  70. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-38@2x.png
  71. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-38@3x.png
  72. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
  73. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
  74. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
  75. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
  76. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-64@2x.png
  77. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-64@3x.png
  78. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-68@2x.png
  79. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
  80. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
  81. 3
    3
      ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
  82. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
  83. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
  84. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
  85. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/launch_image.png
  86. 51
    37
      ios/Runner/Base.lproj/LaunchScreen.storyboard
  87. 29
    26
      ios/Runner/Base.lproj/Main.storyboard
  88. 17
    12
      ios/Runner/Info.plist
  89. 2
    2
      lib/models/app.dart
  90. 4
    4
      lib/routes/middleWares.dart
  91. 2
    1
      lib/utils/amap/const_config.dart
  92. 33
    1
      lib/utils/location.dart

+ 41
- 0
ios/Flutter/Flutter.xcframework/Info.plist View File

@@ -0,0 +1,41 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>AvailableLibraries</key>
6
+	<array>
7
+		<dict>
8
+			<key>LibraryIdentifier</key>
9
+			<string>ios-arm64_armv7</string>
10
+			<key>LibraryPath</key>
11
+			<string>Flutter.framework</string>
12
+			<key>SupportedArchitectures</key>
13
+			<array>
14
+				<string>arm64</string>
15
+				<string>armv7</string>
16
+			</array>
17
+			<key>SupportedPlatform</key>
18
+			<string>ios</string>
19
+		</dict>
20
+		<dict>
21
+			<key>LibraryIdentifier</key>
22
+			<string>ios-arm64_x86_64-simulator</string>
23
+			<key>LibraryPath</key>
24
+			<string>Flutter.framework</string>
25
+			<key>SupportedArchitectures</key>
26
+			<array>
27
+				<string>arm64</string>
28
+				<string>x86_64</string>
29
+			</array>
30
+			<key>SupportedPlatform</key>
31
+			<string>ios</string>
32
+			<key>SupportedPlatformVariant</key>
33
+			<string>simulator</string>
34
+		</dict>
35
+	</array>
36
+	<key>CFBundlePackageType</key>
37
+	<string>XFWK</string>
38
+	<key>XCFrameworkFormatVersion</key>
39
+	<string>1.0</string>
40
+</dict>
41
+</plist>

BIN
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Flutter View File


+ 24
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/Flutter.h View File

@@ -0,0 +1,24 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTER_H_
6
+#define FLUTTER_FLUTTER_H_
7
+
8
+#import "FlutterAppDelegate.h"
9
+#import "FlutterBinaryMessenger.h"
10
+#import "FlutterCallbackCache.h"
11
+#import "FlutterChannels.h"
12
+#import "FlutterCodecs.h"
13
+#import "FlutterDartProject.h"
14
+#import "FlutterEngine.h"
15
+#import "FlutterEngineGroup.h"
16
+#import "FlutterHeadlessDartRunner.h"
17
+#import "FlutterMacros.h"
18
+#import "FlutterPlatformViews.h"
19
+#import "FlutterPlugin.h"
20
+#import "FlutterPluginAppLifeCycleDelegate.h"
21
+#import "FlutterTexture.h"
22
+#import "FlutterViewController.h"
23
+
24
+#endif  // FLUTTER_FLUTTER_H_

+ 34
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterAppDelegate.h View File

@@ -0,0 +1,34 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERAPPDELEGATE_H_
6
+#define FLUTTER_FLUTTERAPPDELEGATE_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+
10
+#import "FlutterMacros.h"
11
+#import "FlutterPlugin.h"
12
+
13
+/**
14
+ * `UIApplicationDelegate` subclass for simple apps that want default behavior.
15
+ *
16
+ * This class implements the following behaviors:
17
+ *   * Status bar touches are forwarded to the key window's root view
18
+ *     `FlutterViewController`, in order to trigger scroll to top.
19
+ *   * Keeps the Flutter connection open in debug mode when the phone screen
20
+ *     locks.
21
+ *
22
+ * App delegates for Flutter applications are *not* required to inherit from
23
+ * this class. Developers of custom app delegate classes should copy and paste
24
+ * code as necessary from FlutterAppDelegate.mm.
25
+ */
26
+FLUTTER_DARWIN_EXPORT
27
+@interface FlutterAppDelegate
28
+    : UIResponder <UIApplicationDelegate, FlutterPluginRegistry, FlutterAppLifeCycleProvider>
29
+
30
+@property(strong, nonatomic) UIWindow* window;
31
+
32
+@end
33
+
34
+#endif  // FLUTTER_FLUTTERDARTPROJECT_H_

+ 93
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterBinaryMessenger.h View File

@@ -0,0 +1,93 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERBINARYMESSENGER_H_
6
+#define FLUTTER_FLUTTERBINARYMESSENGER_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+NS_ASSUME_NONNULL_BEGIN
13
+/**
14
+ * A message reply callback.
15
+ *
16
+ * Used for submitting a binary reply back to a Flutter message sender. Also used
17
+ * in for handling a binary message reply received from Flutter.
18
+ *
19
+ * @param reply The reply.
20
+ */
21
+typedef void (^FlutterBinaryReply)(NSData* _Nullable reply);
22
+
23
+/**
24
+ * A strategy for handling incoming binary messages from Flutter and to send
25
+ * asynchronous replies back to Flutter.
26
+ *
27
+ * @param message The message.
28
+ * @param reply A callback for submitting an asynchronous reply to the sender.
29
+ */
30
+typedef void (^FlutterBinaryMessageHandler)(NSData* _Nullable message, FlutterBinaryReply reply);
31
+
32
+typedef int64_t FlutterBinaryMessengerConnection;
33
+
34
+/**
35
+ * A facility for communicating with the Flutter side using asynchronous message
36
+ * passing with binary messages.
37
+ *
38
+ * Implementated by:
39
+ * - `FlutterBasicMessageChannel`, which supports communication using structured
40
+ * messages.
41
+ * - `FlutterMethodChannel`, which supports communication using asynchronous
42
+ * method calls.
43
+ * - `FlutterEventChannel`, which supports commuication using event streams.
44
+ */
45
+FLUTTER_DARWIN_EXPORT
46
+@protocol FlutterBinaryMessenger <NSObject>
47
+/**
48
+ * Sends a binary message to the Flutter side on the specified channel, expecting
49
+ * no reply.
50
+ *
51
+ * @param channel The channel name.
52
+ * @param message The message.
53
+ */
54
+- (void)sendOnChannel:(NSString*)channel message:(NSData* _Nullable)message;
55
+
56
+/**
57
+ * Sends a binary message to the Flutter side on the specified channel, expecting
58
+ * an asynchronous reply.
59
+ *
60
+ * @param channel The channel name.
61
+ * @param message The message.
62
+ * @param callback A callback for receiving a reply.
63
+ */
64
+- (void)sendOnChannel:(NSString*)channel
65
+              message:(NSData* _Nullable)message
66
+          binaryReply:(FlutterBinaryReply _Nullable)callback;
67
+
68
+/**
69
+ * Registers a message handler for incoming binary messages from the Flutter side
70
+ * on the specified channel.
71
+ *
72
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
73
+ * existing handler.
74
+ *
75
+ * @param channel The channel name.
76
+ * @param handler The message handler.
77
+ * @return An identifier that represents the connection that was just created to the channel.
78
+ */
79
+- (FlutterBinaryMessengerConnection)setMessageHandlerOnChannel:(NSString*)channel
80
+                                          binaryMessageHandler:
81
+                                              (FlutterBinaryMessageHandler _Nullable)handler;
82
+
83
+/**
84
+ * Clears out a channel's message handler if that handler is still the one that
85
+ * was created as a result of
86
+ * `setMessageHandlerOnChannel:binaryMessageHandler:`.
87
+ *
88
+ * @param connection The result from `setMessageHandlerOnChannel:binaryMessageHandler:`.
89
+ */
90
+- (void)cleanUpConnection:(FlutterBinaryMessengerConnection)connection;
91
+@end
92
+NS_ASSUME_NONNULL_END
93
+#endif  // FLUTTER_FLUTTERBINARYMESSENGER_H_

+ 54
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterCallbackCache.h View File

@@ -0,0 +1,54 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERCALLBACKCACHE_H_
6
+#define FLUTTER_FLUTTERCALLBACKCACHE_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+/**
13
+ * An object containing the result of `FlutterCallbackCache`'s `lookupCallbackInformation`
14
+ * method.
15
+ */
16
+FLUTTER_DARWIN_EXPORT
17
+@interface FlutterCallbackInformation : NSObject
18
+/**
19
+ * The name of the callback.
20
+ */
21
+@property(copy) NSString* callbackName;
22
+/**
23
+ * The class name of the callback.
24
+ */
25
+@property(copy) NSString* callbackClassName;
26
+/**
27
+ * The library path of the callback.
28
+ */
29
+@property(copy) NSString* callbackLibraryPath;
30
+@end
31
+
32
+/**
33
+ * The cache containing callback information for spawning a
34
+ * `FlutterHeadlessDartRunner`.
35
+ */
36
+FLUTTER_DARWIN_EXPORT
37
+@interface FlutterCallbackCache : NSObject
38
+/**
39
+ * Returns the callback information for the given callback handle.
40
+ * This callback information can be used when spawning a
41
+ * `FlutterHeadlessDartRunner`.
42
+ *
43
+ * @param handle The handle for a callback, provided by the
44
+ *   Dart method `PluginUtilities.getCallbackHandle`.
45
+ * @return A `FlutterCallbackInformation` object which contains the name of the
46
+ *   callback, the name of the class in which the callback is defined, and the
47
+ *   path of the library which contains the callback. If the provided handle is
48
+ *   invalid, nil is returned.
49
+ */
50
++ (FlutterCallbackInformation*)lookupCallbackInformation:(int64_t)handle;
51
+
52
+@end
53
+
54
+#endif  // FLUTTER_FLUTTERCALLBACKCACHE_H_

+ 386
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterChannels.h View File

@@ -0,0 +1,386 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERCHANNELS_H_
6
+#define FLUTTER_FLUTTERCHANNELS_H_
7
+
8
+#import "FlutterBinaryMessenger.h"
9
+#import "FlutterCodecs.h"
10
+
11
+NS_ASSUME_NONNULL_BEGIN
12
+/**
13
+ * A message reply callback.
14
+ *
15
+ * Used for submitting a reply back to a Flutter message sender. Also used in
16
+ * the dual capacity for handling a message reply received from Flutter.
17
+ *
18
+ * @param reply The reply.
19
+ */
20
+typedef void (^FlutterReply)(id _Nullable reply);
21
+
22
+/**
23
+ * A strategy for handling incoming messages from Flutter and to send
24
+ * asynchronous replies back to Flutter.
25
+ *
26
+ * @param message The message.
27
+ * @param callback A callback for submitting a reply to the sender.
28
+ */
29
+typedef void (^FlutterMessageHandler)(id _Nullable message, FlutterReply callback);
30
+
31
+/**
32
+ * A channel for communicating with the Flutter side using basic, asynchronous
33
+ * message passing.
34
+ */
35
+FLUTTER_DARWIN_EXPORT
36
+@interface FlutterBasicMessageChannel : NSObject
37
+/**
38
+ * Creates a `FlutterBasicMessageChannel` with the specified name and binary
39
+ * messenger.
40
+ *
41
+ * The channel name logically identifies the channel; identically named channels
42
+ * interfere with each other's communication.
43
+ *
44
+ * The binary messenger is a facility for sending raw, binary messages to the
45
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
46
+ *
47
+ * The channel uses `FlutterStandardMessageCodec` to encode and decode messages.
48
+ *
49
+ * @param name The channel name.
50
+ * @param messenger The binary messenger.
51
+ */
52
++ (instancetype)messageChannelWithName:(NSString*)name
53
+                       binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
54
+
55
+/**
56
+ * Creates a `FlutterBasicMessageChannel` with the specified name, binary
57
+ * messenger, and message codec.
58
+ *
59
+ * The channel name logically identifies the channel; identically named channels
60
+ * interfere with each other's communication.
61
+ *
62
+ * The binary messenger is a facility for sending raw, binary messages to the
63
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
64
+ *
65
+ * @param name The channel name.
66
+ * @param messenger The binary messenger.
67
+ * @param codec The message codec.
68
+ */
69
++ (instancetype)messageChannelWithName:(NSString*)name
70
+                       binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
71
+                                 codec:(NSObject<FlutterMessageCodec>*)codec;
72
+
73
+/**
74
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
75
+ * messenger, and message codec.
76
+ *
77
+ * The channel name logically identifies the channel; identically named channels
78
+ * interfere with each other's communication.
79
+ *
80
+ * The binary messenger is a facility for sending raw, binary messages to the
81
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
82
+ *
83
+ * @param name The channel name.
84
+ * @param messenger The binary messenger.
85
+ * @param codec The message codec.
86
+ */
87
+- (instancetype)initWithName:(NSString*)name
88
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
89
+                       codec:(NSObject<FlutterMessageCodec>*)codec;
90
+
91
+/**
92
+ * Sends the specified message to the Flutter side, ignoring any reply.
93
+ *
94
+ * @param message The message. Must be supported by the codec of this
95
+ * channel.
96
+ */
97
+- (void)sendMessage:(id _Nullable)message;
98
+
99
+/**
100
+ * Sends the specified message to the Flutter side, expecting an asynchronous
101
+ * reply.
102
+ *
103
+ * @param message The message. Must be supported by the codec of this channel.
104
+ * @param callback A callback to be invoked with the message reply from Flutter.
105
+ */
106
+- (void)sendMessage:(id _Nullable)message reply:(FlutterReply _Nullable)callback;
107
+
108
+/**
109
+ * Registers a message handler with this channel.
110
+ *
111
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
112
+ * existing handler.
113
+ *
114
+ * @param handler The message handler.
115
+ */
116
+- (void)setMessageHandler:(FlutterMessageHandler _Nullable)handler;
117
+
118
+/**
119
+ * Adjusts the number of messages that will get buffered when sending messages to
120
+ * channels that aren't fully set up yet.  For example, the engine isn't running
121
+ * yet or the channel's message handler isn't set up on the Dart side yet.
122
+ */
123
+- (void)resizeChannelBuffer:(NSInteger)newSize;
124
+
125
+@end
126
+
127
+/**
128
+ * A method call result callback.
129
+ *
130
+ * Used for submitting a method call result back to a Flutter caller. Also used in
131
+ * the dual capacity for handling a method call result received from Flutter.
132
+ *
133
+ * @param result The result.
134
+ */
135
+typedef void (^FlutterResult)(id _Nullable result);
136
+
137
+/**
138
+ * A strategy for handling method calls.
139
+ *
140
+ * @param call The incoming method call.
141
+ * @param result A callback to asynchronously submit the result of the call.
142
+ *     Invoke the callback with a `FlutterError` to indicate that the call failed.
143
+ *     Invoke the callback with `FlutterMethodNotImplemented` to indicate that the
144
+ *     method was unknown. Any other values, including `nil`, are interpreted as
145
+ *     successful results.
146
+ */
147
+typedef void (^FlutterMethodCallHandler)(FlutterMethodCall* call, FlutterResult result);
148
+
149
+/**
150
+ * A constant used with `FlutterMethodCallHandler` to respond to the call of an
151
+ * unknown method.
152
+ */
153
+FLUTTER_DARWIN_EXPORT
154
+extern NSObject const* FlutterMethodNotImplemented;
155
+
156
+/**
157
+ * A channel for communicating with the Flutter side using invocation of
158
+ * asynchronous methods.
159
+ */
160
+FLUTTER_DARWIN_EXPORT
161
+@interface FlutterMethodChannel : NSObject
162
+/**
163
+ * Creates a `FlutterMethodChannel` with the specified name and binary messenger.
164
+ *
165
+ * The channel name logically identifies the channel; identically named channels
166
+ * interfere with each other's communication.
167
+ *
168
+ * The binary messenger is a facility for sending raw, binary messages to the
169
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
170
+ *
171
+ * The channel uses `FlutterStandardMethodCodec` to encode and decode method calls
172
+ * and result envelopes.
173
+ *
174
+ * @param name The channel name.
175
+ * @param messenger The binary messenger.
176
+ */
177
++ (instancetype)methodChannelWithName:(NSString*)name
178
+                      binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
179
+
180
+/**
181
+ * Creates a `FlutterMethodChannel` with the specified name, binary messenger, and
182
+ * method codec.
183
+ *
184
+ * The channel name logically identifies the channel; identically named channels
185
+ * interfere with each other's communication.
186
+ *
187
+ * The binary messenger is a facility for sending raw, binary messages to the
188
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
189
+ *
190
+ * @param name The channel name.
191
+ * @param messenger The binary messenger.
192
+ * @param codec The method codec.
193
+ */
194
++ (instancetype)methodChannelWithName:(NSString*)name
195
+                      binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
196
+                                codec:(NSObject<FlutterMethodCodec>*)codec;
197
+
198
+/**
199
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
200
+ * and method codec.
201
+ *
202
+ * The channel name logically identifies the channel; identically named channels
203
+ * interfere with each other's communication.
204
+ *
205
+ * The binary messenger is a facility for sending raw, binary messages to the
206
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
207
+ *
208
+ * @param name The channel name.
209
+ * @param messenger The binary messenger.
210
+ * @param codec The method codec.
211
+ */
212
+- (instancetype)initWithName:(NSString*)name
213
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
214
+                       codec:(NSObject<FlutterMethodCodec>*)codec;
215
+
216
+// clang-format off
217
+/**
218
+ * Invokes the specified Flutter method with the specified arguments, expecting
219
+ * no results.
220
+ *
221
+ * @see [MethodChannel.setMethodCallHandler](https://api.flutter.dev/flutter/services/MethodChannel/setMethodCallHandler.html)
222
+ *
223
+ * @param method The name of the method to invoke.
224
+ * @param arguments The arguments. Must be a value supported by the codec of this
225
+ *     channel.
226
+ */
227
+// clang-format on
228
+- (void)invokeMethod:(NSString*)method arguments:(id _Nullable)arguments;
229
+
230
+/**
231
+ * Invokes the specified Flutter method with the specified arguments, expecting
232
+ * an asynchronous result.
233
+ *
234
+ * @param method The name of the method to invoke.
235
+ * @param arguments The arguments. Must be a value supported by the codec of this
236
+ *     channel.
237
+ * @param callback A callback that will be invoked with the asynchronous result.
238
+ *     The result will be a `FlutterError` instance, if the method call resulted
239
+ *     in an error on the Flutter side. Will be `FlutterMethodNotImplemented`, if
240
+ *     the method called was not implemented on the Flutter side. Any other value,
241
+ *     including `nil`, should be interpreted as successful results.
242
+ */
243
+- (void)invokeMethod:(NSString*)method
244
+           arguments:(id _Nullable)arguments
245
+              result:(FlutterResult _Nullable)callback;
246
+/**
247
+ * Registers a handler for method calls from the Flutter side.
248
+ *
249
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
250
+ * existing handler.
251
+ *
252
+ * @param handler The method call handler.
253
+ */
254
+- (void)setMethodCallHandler:(FlutterMethodCallHandler _Nullable)handler;
255
+
256
+/**
257
+ * Adjusts the number of messages that will get buffered when sending messages to
258
+ * channels that aren't fully set up yet.  For example, the engine isn't running
259
+ * yet or the channel's message handler isn't set up on the Dart side yet.
260
+ */
261
+- (void)resizeChannelBuffer:(NSInteger)newSize;
262
+
263
+@end
264
+
265
+/**
266
+ * An event sink callback.
267
+ *
268
+ * @param event The event.
269
+ */
270
+typedef void (^FlutterEventSink)(id _Nullable event);
271
+
272
+/**
273
+ * A strategy for exposing an event stream to the Flutter side.
274
+ */
275
+FLUTTER_DARWIN_EXPORT
276
+@protocol FlutterStreamHandler
277
+/**
278
+ * Sets up an event stream and begin emitting events.
279
+ *
280
+ * Invoked when the first listener is registered with the Stream associated to
281
+ * this channel on the Flutter side.
282
+ *
283
+ * @param arguments Arguments for the stream.
284
+ * @param events A callback to asynchronously emit events. Invoke the
285
+ *     callback with a `FlutterError` to emit an error event. Invoke the
286
+ *     callback with `FlutterEndOfEventStream` to indicate that no more
287
+ *     events will be emitted. Any other value, including `nil` are emitted as
288
+ *     successful events.
289
+ * @return A FlutterError instance, if setup fails.
290
+ */
291
+- (FlutterError* _Nullable)onListenWithArguments:(id _Nullable)arguments
292
+                                       eventSink:(FlutterEventSink)events;
293
+
294
+/**
295
+ * Tears down an event stream.
296
+ *
297
+ * Invoked when the last listener is deregistered from the Stream associated to
298
+ * this channel on the Flutter side.
299
+ *
300
+ * The channel implementation may call this method with `nil` arguments
301
+ * to separate a pair of two consecutive set up requests. Such request pairs
302
+ * may occur during Flutter hot restart.
303
+ *
304
+ * @param arguments Arguments for the stream.
305
+ * @return A FlutterError instance, if teardown fails.
306
+ */
307
+- (FlutterError* _Nullable)onCancelWithArguments:(id _Nullable)arguments;
308
+@end
309
+
310
+/**
311
+ * A constant used with `FlutterEventChannel` to indicate end of stream.
312
+ */
313
+FLUTTER_DARWIN_EXPORT
314
+extern NSObject const* FlutterEndOfEventStream;
315
+
316
+/**
317
+ * A channel for communicating with the Flutter side using event streams.
318
+ */
319
+FLUTTER_DARWIN_EXPORT
320
+@interface FlutterEventChannel : NSObject
321
+/**
322
+ * Creates a `FlutterEventChannel` with the specified name and binary messenger.
323
+ *
324
+ * The channel name logically identifies the channel; identically named channels
325
+ * interfere with each other's communication.
326
+ *
327
+ * The binary messenger is a facility for sending raw, binary messages to the
328
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
329
+ *
330
+ * The channel uses `FlutterStandardMethodCodec` to decode stream setup and
331
+ * teardown requests, and to encode event envelopes.
332
+ *
333
+ * @param name The channel name.
334
+ * @param messenger The binary messenger.
335
+ */
336
++ (instancetype)eventChannelWithName:(NSString*)name
337
+                     binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
338
+
339
+/**
340
+ * Creates a `FlutterEventChannel` with the specified name, binary messenger,
341
+ * and method codec.
342
+ *
343
+ * The channel name logically identifies the channel; identically named channels
344
+ * interfere with each other's communication.
345
+ *
346
+ * The binary messenger is a facility for sending raw, binary messages to the
347
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
348
+ *
349
+ * @param name The channel name.
350
+ * @param messenger The binary messenger.
351
+ * @param codec The method codec.
352
+ */
353
++ (instancetype)eventChannelWithName:(NSString*)name
354
+                     binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
355
+                               codec:(NSObject<FlutterMethodCodec>*)codec;
356
+
357
+/**
358
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
359
+ * and method codec.
360
+ *
361
+ * The channel name logically identifies the channel; identically named channels
362
+ * interfere with each other's communication.
363
+ *
364
+ * The binary messenger is a facility for sending raw, binary messages to the
365
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
366
+ *
367
+ * @param name The channel name.
368
+ * @param messenger The binary messenger.
369
+ * @param codec The method codec.
370
+ */
371
+- (instancetype)initWithName:(NSString*)name
372
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
373
+                       codec:(NSObject<FlutterMethodCodec>*)codec;
374
+/**
375
+ * Registers a handler for stream setup requests from the Flutter side.
376
+ *
377
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
378
+ * existing handler.
379
+ *
380
+ * @param handler The stream handler.
381
+ */
382
+- (void)setStreamHandler:(NSObject<FlutterStreamHandler>* _Nullable)handler;
383
+@end
384
+NS_ASSUME_NONNULL_END
385
+
386
+#endif  // FLUTTER_FLUTTERCHANNELS_H_

+ 476
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterCodecs.h View File

@@ -0,0 +1,476 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERCODECS_H_
6
+#define FLUTTER_FLUTTERCODECS_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+NS_ASSUME_NONNULL_BEGIN
13
+
14
+/**
15
+ * A message encoding/decoding mechanism.
16
+ */
17
+FLUTTER_DARWIN_EXPORT
18
+@protocol FlutterMessageCodec
19
+/**
20
+ * Returns a shared instance of this `FlutterMessageCodec`.
21
+ */
22
++ (instancetype)sharedInstance;
23
+
24
+/**
25
+ * Encodes the specified message into binary.
26
+ *
27
+ * @param message The message.
28
+ * @return The binary encoding, or `nil`, if `message` was `nil`.
29
+ */
30
+- (NSData* _Nullable)encode:(id _Nullable)message;
31
+
32
+/**
33
+ * Decodes the specified message from binary.
34
+ *
35
+ * @param message The message.
36
+ * @return The decoded message, or `nil`, if `message` was `nil`.
37
+ */
38
+- (id _Nullable)decode:(NSData* _Nullable)message;
39
+@end
40
+
41
+/**
42
+ * A `FlutterMessageCodec` using unencoded binary messages, represented as
43
+ * `NSData` instances.
44
+ *
45
+ * This codec is guaranteed to be compatible with the corresponding
46
+ * [BinaryCodec](https://api.flutter.dev/flutter/services/BinaryCodec-class.html)
47
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
48
+ *
49
+ * On the Dart side, messages are represented using `ByteData`.
50
+ */
51
+FLUTTER_DARWIN_EXPORT
52
+@interface FlutterBinaryCodec : NSObject <FlutterMessageCodec>
53
+@end
54
+
55
+/**
56
+ * A `FlutterMessageCodec` using UTF-8 encoded `NSString` messages.
57
+ *
58
+ * This codec is guaranteed to be compatible with the corresponding
59
+ * [StringCodec](https://api.flutter.dev/flutter/services/StringCodec-class.html)
60
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
61
+ */
62
+FLUTTER_DARWIN_EXPORT
63
+@interface FlutterStringCodec : NSObject <FlutterMessageCodec>
64
+@end
65
+
66
+/**
67
+ * A `FlutterMessageCodec` using UTF-8 encoded JSON messages.
68
+ *
69
+ * This codec is guaranteed to be compatible with the corresponding
70
+ * [JSONMessageCodec](https://api.flutter.dev/flutter/services/JSONMessageCodec-class.html)
71
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
72
+ *
73
+ * Supports values accepted by `NSJSONSerialization` plus top-level
74
+ * `nil`, `NSNumber`, and `NSString`.
75
+ *
76
+ * On the Dart side, JSON messages are handled by the JSON facilities of the
77
+ * [`dart:convert`](https://api.dartlang.org/stable/dart-convert/JSON-constant.html)
78
+ * package.
79
+ */
80
+FLUTTER_DARWIN_EXPORT
81
+@interface FlutterJSONMessageCodec : NSObject <FlutterMessageCodec>
82
+@end
83
+
84
+/**
85
+ * A writer of the Flutter standard binary encoding.
86
+ *
87
+ * See `FlutterStandardMessageCodec` for details on the encoding.
88
+ *
89
+ * The encoding is extensible via subclasses overriding `writeValue`.
90
+ */
91
+FLUTTER_DARWIN_EXPORT
92
+@interface FlutterStandardWriter : NSObject
93
+/**
94
+ * Create a `FlutterStandardWriter` who will write to \p data.
95
+ */
96
+- (instancetype)initWithData:(NSMutableData*)data;
97
+/** Write a 8-bit byte. */
98
+- (void)writeByte:(UInt8)value;
99
+/** Write an array of \p bytes of size \p length. */
100
+- (void)writeBytes:(const void*)bytes length:(NSUInteger)length;
101
+/** Write an array of bytes contained in \p data. */
102
+- (void)writeData:(NSData*)data;
103
+/** Write 32-bit unsigned integer that represents a \p size of a collection. */
104
+- (void)writeSize:(UInt32)size;
105
+/** Write zero padding until data is aligned with \p alignment. */
106
+- (void)writeAlignment:(UInt8)alignment;
107
+/** Write a string with UTF-8 encoding. */
108
+- (void)writeUTF8:(NSString*)value;
109
+/** Introspects into an object and writes its representation.
110
+ *
111
+ * Supported Data Types:
112
+ *  - NSNull
113
+ *  - NSNumber
114
+ *  - NSString (as UTF-8)
115
+ *  - FlutterStandardTypedData
116
+ *  - NSArray of supported types
117
+ *  - NSDictionary of supporte types
118
+ *
119
+ * NSAsserts on failure.
120
+ */
121
+- (void)writeValue:(id)value;
122
+@end
123
+
124
+/**
125
+ * A reader of the Flutter standard binary encoding.
126
+ *
127
+ * See `FlutterStandardMessageCodec` for details on the encoding.
128
+ *
129
+ * The encoding is extensible via subclasses overriding `readValueOfType`.
130
+ */
131
+FLUTTER_DARWIN_EXPORT
132
+@interface FlutterStandardReader : NSObject
133
+/**
134
+ * Create a new `FlutterStandardReader` who reads from \p data.
135
+ */
136
+- (instancetype)initWithData:(NSData*)data;
137
+/** Returns YES when the reader hasn't reached the end of its data. */
138
+- (BOOL)hasMore;
139
+/** Reads a byte value and increments the position. */
140
+- (UInt8)readByte;
141
+/** Reads a sequence of byte values of \p length and increments the position. */
142
+- (void)readBytes:(void*)destination length:(NSUInteger)length;
143
+/** Reads a sequence of byte values of \p length and increments the position. */
144
+- (NSData*)readData:(NSUInteger)length;
145
+/** Reads a 32-bit unsigned integer representing a collection size and increments the position.*/
146
+- (UInt32)readSize;
147
+/** Advances the read position until it is aligned with \p alignment. */
148
+- (void)readAlignment:(UInt8)alignment;
149
+/** Read a null terminated string encoded with UTF-8/ */
150
+- (NSString*)readUTF8;
151
+/**
152
+ * Reads a byte for `FlutterStandardField` the decodes a value matching that type.
153
+ *
154
+ * See also: -[FlutterStandardWriter writeValue]
155
+ */
156
+- (nullable id)readValue;
157
+/**
158
+ * Decodes a value matching the \p type specified.
159
+ *
160
+ * See also:
161
+ *   - `FlutterStandardField`
162
+ *   - `-[FlutterStandardWriter writeValue]`
163
+ */
164
+- (nullable id)readValueOfType:(UInt8)type;
165
+@end
166
+
167
+/**
168
+ * A factory of compatible reader/writer instances using the Flutter standard
169
+ * binary encoding or extensions thereof.
170
+ */
171
+FLUTTER_DARWIN_EXPORT
172
+@interface FlutterStandardReaderWriter : NSObject
173
+/**
174
+ * Create a new `FlutterStandardWriter` for writing to \p data.
175
+ */
176
+- (FlutterStandardWriter*)writerWithData:(NSMutableData*)data;
177
+/**
178
+ * Create a new `FlutterStandardReader` for reading from \p data.
179
+ */
180
+- (FlutterStandardReader*)readerWithData:(NSData*)data;
181
+@end
182
+
183
+/**
184
+ * A `FlutterMessageCodec` using the Flutter standard binary encoding.
185
+ *
186
+ * This codec is guaranteed to be compatible with the corresponding
187
+ * [StandardMessageCodec](https://api.flutter.dev/flutter/services/StandardMessageCodec-class.html)
188
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
189
+ *
190
+ * Supported messages are acyclic values of these forms:
191
+ *
192
+ * - `nil` or `NSNull`
193
+ * - `NSNumber` (including their representation of Boolean values)
194
+ * - `NSString`
195
+ * - `FlutterStandardTypedData`
196
+ * - `NSArray` of supported values
197
+ * - `NSDictionary` with supported keys and values
198
+ *
199
+ * On the Dart side, these values are represented as follows:
200
+ *
201
+ * - `nil` or `NSNull`: null
202
+ * - `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
203
+ * - `NSString`: `String`
204
+ * - `FlutterStandardTypedData`: `Uint8List`, `Int32List`, `Int64List`, or `Float64List`
205
+ * - `NSArray`: `List`
206
+ * - `NSDictionary`: `Map`
207
+ */
208
+FLUTTER_DARWIN_EXPORT
209
+@interface FlutterStandardMessageCodec : NSObject <FlutterMessageCodec>
210
+/**
211
+ * Create a `FlutterStandardMessageCodec` who will read and write to \p readerWriter.
212
+ */
213
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
214
+@end
215
+
216
+/**
217
+ * Command object representing a method call on a `FlutterMethodChannel`.
218
+ */
219
+FLUTTER_DARWIN_EXPORT
220
+@interface FlutterMethodCall : NSObject
221
+/**
222
+ * Creates a method call for invoking the specified named method with the
223
+ * specified arguments.
224
+ *
225
+ * @param method the name of the method to call.
226
+ * @param arguments the arguments value.
227
+ */
228
++ (instancetype)methodCallWithMethodName:(NSString*)method arguments:(id _Nullable)arguments;
229
+
230
+/**
231
+ * The method name.
232
+ */
233
+@property(readonly, nonatomic) NSString* method;
234
+
235
+/**
236
+ * The arguments.
237
+ */
238
+@property(readonly, nonatomic, nullable) id arguments;
239
+@end
240
+
241
+/**
242
+ * Error object representing an unsuccessful outcome of invoking a method
243
+ * on a `FlutterMethodChannel`, or an error event on a `FlutterEventChannel`.
244
+ */
245
+FLUTTER_DARWIN_EXPORT
246
+@interface FlutterError : NSObject
247
+/**
248
+ * Creates a `FlutterError` with the specified error code, message, and details.
249
+ *
250
+ * @param code An error code string for programmatic use.
251
+ * @param message A human-readable error message.
252
+ * @param details Custom error details.
253
+ */
254
++ (instancetype)errorWithCode:(NSString*)code
255
+                      message:(NSString* _Nullable)message
256
+                      details:(id _Nullable)details;
257
+/**
258
+ The error code.
259
+ */
260
+@property(readonly, nonatomic) NSString* code;
261
+
262
+/**
263
+ The error message.
264
+ */
265
+@property(readonly, nonatomic, nullable) NSString* message;
266
+
267
+/**
268
+ The error details.
269
+ */
270
+@property(readonly, nonatomic, nullable) id details;
271
+@end
272
+
273
+/**
274
+ * Type of numeric data items encoded in a `FlutterStandardDataType`.
275
+ *
276
+ * - FlutterStandardDataTypeUInt8: plain bytes
277
+ * - FlutterStandardDataTypeInt32: 32-bit signed integers
278
+ * - FlutterStandardDataTypeInt64: 64-bit signed integers
279
+ * - FlutterStandardDataTypeFloat64: 64-bit floats
280
+ */
281
+typedef NS_ENUM(NSInteger, FlutterStandardDataType) {
282
+  FlutterStandardDataTypeUInt8,
283
+  FlutterStandardDataTypeInt32,
284
+  FlutterStandardDataTypeInt64,
285
+  FlutterStandardDataTypeFloat32,
286
+  FlutterStandardDataTypeFloat64,
287
+};
288
+
289
+/**
290
+ * A byte buffer holding `UInt8`, `SInt32`, `SInt64`, or `Float64` values, used
291
+ * with `FlutterStandardMessageCodec` and `FlutterStandardMethodCodec`.
292
+ *
293
+ * Two's complement encoding is used for signed integers. IEEE754
294
+ * double-precision representation is used for floats. The platform's native
295
+ * endianness is assumed.
296
+ */
297
+FLUTTER_DARWIN_EXPORT
298
+@interface FlutterStandardTypedData : NSObject
299
+/**
300
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
301
+ * as plain bytes.
302
+ *
303
+ * @param data the byte data.
304
+ */
305
++ (instancetype)typedDataWithBytes:(NSData*)data;
306
+
307
+/**
308
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
309
+ * as 32-bit signed integers.
310
+ *
311
+ * @param data the byte data. The length must be divisible by 4.
312
+ */
313
++ (instancetype)typedDataWithInt32:(NSData*)data;
314
+
315
+/**
316
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
317
+ * as 64-bit signed integers.
318
+ *
319
+ * @param data the byte data. The length must be divisible by 8.
320
+ */
321
++ (instancetype)typedDataWithInt64:(NSData*)data;
322
+
323
+/**
324
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
325
+ * as 32-bit floats.
326
+ *
327
+ * @param data the byte data. The length must be divisible by 8.
328
+ */
329
++ (instancetype)typedDataWithFloat32:(NSData*)data;
330
+
331
+/**
332
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
333
+ * as 64-bit floats.
334
+ *
335
+ * @param data the byte data. The length must be divisible by 8.
336
+ */
337
++ (instancetype)typedDataWithFloat64:(NSData*)data;
338
+
339
+/**
340
+ * The raw underlying data buffer.
341
+ */
342
+@property(readonly, nonatomic) NSData* data;
343
+
344
+/**
345
+ * The type of the encoded values.
346
+ */
347
+@property(readonly, nonatomic) FlutterStandardDataType type;
348
+
349
+/**
350
+ * The number of value items encoded.
351
+ */
352
+@property(readonly, nonatomic) UInt32 elementCount;
353
+
354
+/**
355
+ * The number of bytes used by the encoding of a single value item.
356
+ */
357
+@property(readonly, nonatomic) UInt8 elementSize;
358
+@end
359
+
360
+/**
361
+ * An arbitrarily large integer value, used with `FlutterStandardMessageCodec`
362
+ * and `FlutterStandardMethodCodec`.
363
+ */
364
+FLUTTER_DARWIN_EXPORT
365
+FLUTTER_UNAVAILABLE("Unavailable on 2018-08-31. Deprecated on 2018-01-09. "
366
+                    "FlutterStandardBigInteger was needed because the Dart 1.0 int type had no "
367
+                    "size limit. With Dart 2.0, the int type is a fixed-size, 64-bit signed "
368
+                    "integer. If you need to communicate larger integers, use NSString encoding "
369
+                    "instead.")
370
+@interface FlutterStandardBigInteger : NSObject
371
+@end
372
+
373
+/**
374
+ * A codec for method calls and enveloped results.
375
+ *
376
+ * Method calls are encoded as binary messages with enough structure that the
377
+ * codec can extract a method name `NSString` and an arguments `NSObject`,
378
+ * possibly `nil`. These data items are used to populate a `FlutterMethodCall`.
379
+ *
380
+ * Result envelopes are encoded as binary messages with enough structure that
381
+ * the codec can determine whether the result was successful or an error. In
382
+ * the former case, the codec can extract the result `NSObject`, possibly `nil`.
383
+ * In the latter case, the codec can extract an error code `NSString`, a
384
+ * human-readable `NSString` error message (possibly `nil`), and a custom
385
+ * error details `NSObject`, possibly `nil`. These data items are used to
386
+ * populate a `FlutterError`.
387
+ */
388
+FLUTTER_DARWIN_EXPORT
389
+@protocol FlutterMethodCodec
390
+/**
391
+ * Provides access to a shared instance this codec.
392
+ *
393
+ * @return The shared instance.
394
+ */
395
++ (instancetype)sharedInstance;
396
+
397
+/**
398
+ * Encodes the specified method call into binary.
399
+ *
400
+ * @param methodCall The method call. The arguments value
401
+ *   must be supported by this codec.
402
+ * @return The binary encoding.
403
+ */
404
+- (NSData*)encodeMethodCall:(FlutterMethodCall*)methodCall;
405
+
406
+/**
407
+ * Decodes the specified method call from binary.
408
+ *
409
+ * @param methodCall The method call to decode.
410
+ * @return The decoded method call.
411
+ */
412
+- (FlutterMethodCall*)decodeMethodCall:(NSData*)methodCall;
413
+
414
+/**
415
+ * Encodes the specified successful result into binary.
416
+ *
417
+ * @param result The result. Must be a value supported by this codec.
418
+ * @return The binary encoding.
419
+ */
420
+- (NSData*)encodeSuccessEnvelope:(id _Nullable)result;
421
+
422
+/**
423
+ * Encodes the specified error result into binary.
424
+ *
425
+ * @param error The error object. The error details value must be supported
426
+ *   by this codec.
427
+ * @return The binary encoding.
428
+ */
429
+- (NSData*)encodeErrorEnvelope:(FlutterError*)error;
430
+
431
+/**
432
+ * Deccodes the specified result envelope from binary.
433
+ *
434
+ * @param envelope The error object.
435
+ * @return The result value, if the envelope represented a successful result,
436
+ *   or a `FlutterError` instance, if not.
437
+ */
438
+- (id _Nullable)decodeEnvelope:(NSData*)envelope;
439
+@end
440
+
441
+/**
442
+ * A `FlutterMethodCodec` using UTF-8 encoded JSON method calls and result
443
+ * envelopes.
444
+ *
445
+ * This codec is guaranteed to be compatible with the corresponding
446
+ * [JSONMethodCodec](https://api.flutter.dev/flutter/services/JSONMethodCodec-class.html)
447
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
448
+ *
449
+ * Values supported as methods arguments and result payloads are
450
+ * those supported as top-level or leaf values by `FlutterJSONMessageCodec`.
451
+ */
452
+FLUTTER_DARWIN_EXPORT
453
+@interface FlutterJSONMethodCodec : NSObject <FlutterMethodCodec>
454
+@end
455
+
456
+/**
457
+ * A `FlutterMethodCodec` using the Flutter standard binary encoding.
458
+ *
459
+ * This codec is guaranteed to be compatible with the corresponding
460
+ * [StandardMethodCodec](https://api.flutter.dev/flutter/services/StandardMethodCodec-class.html)
461
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
462
+ *
463
+ * Values supported as method arguments and result payloads are those supported by
464
+ * `FlutterStandardMessageCodec`.
465
+ */
466
+FLUTTER_DARWIN_EXPORT
467
+@interface FlutterStandardMethodCodec : NSObject <FlutterMethodCodec>
468
+/**
469
+ * Create a `FlutterStandardMethodCodec` who will read and write to \p readerWriter.
470
+ */
471
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
472
+@end
473
+
474
+NS_ASSUME_NONNULL_END
475
+
476
+#endif  // FLUTTER_FLUTTERCODECS_H_

+ 84
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterDartProject.h View File

@@ -0,0 +1,84 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERDARTPROJECT_H_
6
+#define FLUTTER_FLUTTERDARTPROJECT_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+NS_ASSUME_NONNULL_BEGIN
13
+
14
+/**
15
+ * A set of Flutter and Dart assets used by a `FlutterEngine` to initialize execution.
16
+ */
17
+FLUTTER_DARWIN_EXPORT
18
+@interface FlutterDartProject : NSObject
19
+
20
+/**
21
+ * Initializes a Flutter Dart project from a bundle.
22
+ */
23
+- (instancetype)initWithPrecompiledDartBundle:(nullable NSBundle*)bundle NS_DESIGNATED_INITIALIZER;
24
+
25
+/**
26
+ * Unavailable - use `init` instead.
27
+ */
28
+- (instancetype)initFromDefaultSourceForConfiguration FLUTTER_UNAVAILABLE("Use -init instead.");
29
+
30
+/**
31
+ * Returns the file name for the given asset. If the bundle with the identifier
32
+ * "io.flutter.flutter.app" exists, it will try use that bundle; otherwise, it
33
+ * will use the main bundle.  To specify a different bundle, use
34
+ * `-lookupKeyForAsset:asset:fromBundle`.
35
+ *
36
+ * @param asset The name of the asset. The name can be hierarchical.
37
+ * @return the file name to be used for lookup in the main bundle.
38
+ */
39
++ (NSString*)lookupKeyForAsset:(NSString*)asset;
40
+
41
+/**
42
+ * Returns the file name for the given asset.
43
+ * The returned file name can be used to access the asset in the supplied bundle.
44
+ *
45
+ * @param asset The name of the asset. The name can be hierarchical.
46
+ * @param bundle The `NSBundle` to use for looking up the asset.
47
+ * @return the file name to be used for lookup in the main bundle.
48
+ */
49
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromBundle:(nullable NSBundle*)bundle;
50
+
51
+/**
52
+ * Returns the file name for the given asset which originates from the specified package.
53
+ * The returned file name can be used to access the asset in the application's main bundle.
54
+ *
55
+ * @param asset The name of the asset. The name can be hierarchical.
56
+ * @param package The name of the package from which the asset originates.
57
+ * @return the file name to be used for lookup in the main bundle.
58
+ */
59
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
60
+
61
+/**
62
+ * Returns the file name for the given asset which originates from the specified package.
63
+ * The returned file name can be used to access the asset in the specified bundle.
64
+ *
65
+ * @param asset The name of the asset. The name can be hierarchical.
66
+ * @param package The name of the package from which the asset originates.
67
+ * @param bundle The bundle to use when doing the lookup.
68
+ * @return the file name to be used for lookup in the main bundle.
69
+ */
70
++ (NSString*)lookupKeyForAsset:(NSString*)asset
71
+                   fromPackage:(NSString*)package
72
+                    fromBundle:(nullable NSBundle*)bundle;
73
+
74
+/**
75
+ * Returns the default identifier for the bundle where we expect to find the Flutter Dart
76
+ * application.
77
+ */
78
++ (NSString*)defaultBundleIdentifier;
79
+
80
+@end
81
+
82
+NS_ASSUME_NONNULL_END
83
+
84
+#endif  // FLUTTER_FLUTTERDARTPROJECT_H_

+ 442
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterEngine.h View File

@@ -0,0 +1,442 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERENGINE_H_
6
+#define FLUTTER_FLUTTERENGINE_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+#import <UIKit/UIKit.h>
10
+
11
+#import "FlutterBinaryMessenger.h"
12
+#import "FlutterDartProject.h"
13
+#import "FlutterMacros.h"
14
+#import "FlutterPlugin.h"
15
+#import "FlutterTexture.h"
16
+
17
+@class FlutterViewController;
18
+
19
+NS_ASSUME_NONNULL_BEGIN
20
+
21
+/**
22
+ * The dart entrypoint that is associated with `main()`.  This is to be used as an argument to the
23
+ * `runWithEntrypoint*` methods.
24
+ */
25
+extern NSString* const FlutterDefaultDartEntrypoint;
26
+
27
+/**
28
+ * The default Flutter initial route ("/").
29
+ */
30
+extern NSString* const FlutterDefaultInitialRoute;
31
+
32
+/**
33
+ * The FlutterEngine class coordinates a single instance of execution for a
34
+ * `FlutterDartProject`.  It may have zero or one `FlutterViewController` at a
35
+ * time, which can be specified via `-setViewController:`.
36
+ * `FlutterViewController`'s `initWithEngine` initializer will automatically call
37
+ * `-setViewController:` for itself.
38
+ *
39
+ * A FlutterEngine can be created independently of a `FlutterViewController` for
40
+ * headless execution.  It can also persist across the lifespan of multiple
41
+ * `FlutterViewController` instances to maintain state and/or asynchronous tasks
42
+ * (such as downloading a large file).
43
+ *
44
+ * A FlutterEngine can also be used to prewarm the Dart execution environment and reduce the
45
+ * latency of showing the Flutter screen when a `FlutterViewController` is created and presented.
46
+ * See http://flutter.dev/docs/development/add-to-app/performance for more details on loading
47
+ * performance.
48
+ *
49
+ * Alternatively, you can simply create a new `FlutterViewController` with only a
50
+ * `FlutterDartProject`. That `FlutterViewController` will internally manage its
51
+ * own instance of a FlutterEngine, but will not guarantee survival of the engine
52
+ * beyond the life of the ViewController.
53
+ *
54
+ * A newly initialized FlutterEngine will not actually run a Dart Isolate until
55
+ * either `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is invoked.
56
+ * One of these methods must be invoked before calling `-setViewController:`.
57
+ */
58
+FLUTTER_DARWIN_EXPORT
59
+@interface FlutterEngine : NSObject <FlutterTextureRegistry, FlutterPluginRegistry>
60
+
61
+/**
62
+ * Default initializer for a FlutterEngine.
63
+ *
64
+ * Threads created by this FlutterEngine will appear as "FlutterEngine #" in
65
+ * Instruments. The prefix can be customized using `initWithName`.
66
+ *
67
+ * The engine will execute the project located in the bundle with the identifier
68
+ * "io.flutter.flutter.app" (the default for Flutter projects).
69
+ *
70
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
71
+ * `-runWithEntrypoint:libraryURI:` is called.
72
+ *
73
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
74
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
75
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
76
+ */
77
+- (instancetype)init;
78
+
79
+/**
80
+ * Initialize this FlutterEngine.
81
+ *
82
+ * The engine will execute the project located in the bundle with the identifier
83
+ * "io.flutter.flutter.app" (the default for Flutter projects).
84
+ *
85
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
86
+ * `-runWithEntrypoint:libraryURI:` is called.
87
+ *
88
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
89
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
90
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
91
+ *
92
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
93
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
94
+ *   the threads used by this FlutterEngine.
95
+ */
96
+- (instancetype)initWithName:(NSString*)labelPrefix;
97
+
98
+/**
99
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
100
+ *
101
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
102
+ * the project in a default location (the flutter_assets folder in the iOS application
103
+ * bundle).
104
+ *
105
+ * A newly initialized engine will not run the `FlutterDartProject` until either
106
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
107
+ *
108
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
109
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
110
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
111
+ *
112
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
113
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
114
+ *   the threads used by this FlutterEngine.
115
+ * @param project The `FlutterDartProject` to run.
116
+ */
117
+- (instancetype)initWithName:(NSString*)labelPrefix project:(nullable FlutterDartProject*)project;
118
+
119
+/**
120
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
121
+ *
122
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
123
+ * the project in a default location (the flutter_assets folder in the iOS application
124
+ * bundle).
125
+ *
126
+ * A newly initialized engine will not run the `FlutterDartProject` until either
127
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
128
+ *
129
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
130
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
131
+ *   the threads used by this FlutterEngine.
132
+ * @param project The `FlutterDartProject` to run.
133
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
134
+ *   running after passing a nil `FlutterViewController` to `-setViewController:`.
135
+ */
136
+- (instancetype)initWithName:(NSString*)labelPrefix
137
+                     project:(nullable FlutterDartProject*)project
138
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution;
139
+
140
+/**
141
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
142
+ *
143
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
144
+ * the project in a default location (the flutter_assets folder in the iOS application
145
+ * bundle).
146
+ *
147
+ * A newly initialized engine will not run the `FlutterDartProject` until either
148
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
149
+ *
150
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
151
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
152
+ *   the threads used by this FlutterEngine.
153
+ * @param project The `FlutterDartProject` to run.
154
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
155
+ *   running after passing a nil `FlutterViewController` to `-setViewController:`.
156
+ * @param restorationEnabled Whether state restoration is enabled. When true, the framework will
157
+ *   wait for the attached view controller to provide restoration data.
158
+ */
159
+- (instancetype)initWithName:(NSString*)labelPrefix
160
+                     project:(nullable FlutterDartProject*)project
161
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution
162
+          restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
163
+
164
+/**
165
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
166
+ * contains `main()`), using `main()` as the entrypoint (the default for Flutter projects),
167
+ * and using "/" (the default route) as the initial route.
168
+ *
169
+ * The first call to this method will create a new Isolate. Subsequent calls will return
170
+ * immediately and have no effect.
171
+ *
172
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
173
+ */
174
+- (BOOL)run;
175
+
176
+/**
177
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
178
+ * contains `main()`), using "/" (the default route) as the initial route.
179
+ *
180
+ * The first call to this method will create a new Isolate. Subsequent calls will return
181
+ * immediately and have no effect.
182
+ *
183
+ * @param entrypoint The name of a top-level function from the same Dart
184
+ *   library that contains the app's main() function.  If this is FlutterDefaultDartEntrypoint (or
185
+ *   nil) it will default to `main()`.  If it is not the app's main() function, that function must
186
+ *   be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
187
+ *   compiler.
188
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
189
+ */
190
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;
191
+
192
+/**
193
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
194
+ * contains `main()`).
195
+ *
196
+ * The first call to this method will create a new Isolate. Subsequent calls will return
197
+ * immediately and have no effect.
198
+ *
199
+ * @param entrypoint The name of a top-level function from the same Dart
200
+ *   library that contains the app's main() function.  If this is FlutterDefaultDartEntrypoint (or
201
+ *   nil), it will default to `main()`.  If it is not the app's main() function, that function must
202
+ *   be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
203
+ *   compiler.
204
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
205
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
206
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
207
+ */
208
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
209
+             initialRoute:(nullable NSString*)initialRoute;
210
+
211
+/**
212
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
213
+ * which may not be the same as the library containing the Dart program's `main()` function.
214
+ *
215
+ * The first call to this method will create a new Isolate. Subsequent calls will return
216
+ * immediately and have no effect.
217
+ *
218
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
219
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
220
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
221
+ *   method is not tree-shaken by the Dart compiler.
222
+ * @param uri The URI of the Dart library which contains the entrypoint method.  IF nil,
223
+ *   this will default to the same library as the `main()` function in the Dart program.
224
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
225
+ */
226
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint libraryURI:(nullable NSString*)uri;
227
+
228
+/**
229
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
230
+ * which may not be the same as the library containing the Dart program's `main()` function.
231
+ *
232
+ * The first call to this method will create a new Isolate. Subsequent calls will return
233
+ * immediately and have no effect.
234
+ *
235
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
236
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
237
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
238
+ *   method is not tree-shaken by the Dart compiler.
239
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
240
+ *   this will default to the same library as the `main()` function in the Dart program.
241
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
242
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
243
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
244
+ */
245
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
246
+               libraryURI:(nullable NSString*)libraryURI
247
+             initialRoute:(nullable NSString*)initialRoute;
248
+
249
+/**
250
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
251
+ * which may not be the same as the library containing the Dart program's `main()` function.
252
+ *
253
+ * The first call to this method will create a new Isolate. Subsequent calls will return
254
+ * immediately and have no effect.
255
+ *
256
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
257
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
258
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
259
+ *   method is not tree-shaken by the Dart compiler.
260
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
261
+ *   this will default to the same library as the `main()` function in the Dart program.
262
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
263
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
264
+ * @param entrypointArgs Arguments passed as a list of string to Dart's entrypoint function.
265
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
266
+ */
267
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
268
+               libraryURI:(nullable NSString*)libraryURI
269
+             initialRoute:(nullable NSString*)initialRoute
270
+           entrypointArgs:(nullable NSArray<NSString*>*)entrypointArgs;
271
+
272
+/**
273
+ * Destroy running context for an engine.
274
+ *
275
+ * This method can be used to force the FlutterEngine object to release all resources.
276
+ * After sending this message, the object will be in an unusable state until it is deallocated.
277
+ * Accessing properties or sending messages to it will result in undefined behavior or runtime
278
+ * errors.
279
+ */
280
+- (void)destroyContext;
281
+
282
+/**
283
+ * Ensures that Flutter will generate a semantics tree.
284
+ *
285
+ * This is enabled by default if certain accessibility services are turned on by
286
+ * the user, or when using a Simulator. This method allows a user to turn
287
+ * semantics on when they would not ordinarily be generated and the performance
288
+ * overhead is not a concern, e.g. for UI testing. Note that semantics should
289
+ * never be programmatically turned off, as it would potentially disable
290
+ * accessibility services an end user has requested.
291
+ *
292
+ * This method must only be called after launching the engine via
293
+ * `-runWithEntrypoint:` or `-runWithEntryPoint:libraryURI`.
294
+ *
295
+ * Although this method returns synchronously, it does not guarantee that a
296
+ * semantics tree is actually available when the method returns. It
297
+ * synchronously ensures that the next frame the Flutter framework creates will
298
+ * have a semantics tree.
299
+ *
300
+ * You can subscribe to semantics updates via `NSNotificationCenter` by adding
301
+ * an observer for the name `FlutterSemanticsUpdateNotification`.  The `object`
302
+ * parameter will be the `FlutterViewController` associated with the semantics
303
+ * update.  This will asynchronously fire after a semantics tree has actually
304
+ * built (which may be some time after the frame has been rendered).
305
+ */
306
+- (void)ensureSemanticsEnabled;
307
+
308
+/**
309
+ * Sets the `FlutterViewController` for this instance.  The FlutterEngine must be
310
+ * running (e.g. a successful call to `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI`)
311
+ * before calling this method. Callers may pass nil to remove the viewController
312
+ * and have the engine run headless in the current process.
313
+ *
314
+ * A FlutterEngine can only have one `FlutterViewController` at a time. If there is
315
+ * already a `FlutterViewController` associated with this instance, this method will replace
316
+ * the engine's current viewController with the newly specified one.
317
+ *
318
+ * Setting the viewController will signal the engine to start animations and drawing, and unsetting
319
+ * it will signal the engine to stop animations and drawing.  However, neither will impact the state
320
+ * of the Dart program's execution.
321
+ */
322
+@property(nonatomic, weak) FlutterViewController* viewController;
323
+
324
+/**
325
+ * The `FlutterMethodChannel` used for localization related platform messages, such as
326
+ * setting the locale.
327
+ *
328
+ * Can be nil after `destroyContext` is called.
329
+ */
330
+@property(nonatomic, readonly, nullable) FlutterMethodChannel* localizationChannel;
331
+/**
332
+ * The `FlutterMethodChannel` used for navigation related platform messages.
333
+ *
334
+ * Can be nil after `destroyContext` is called.
335
+ *
336
+ * @see [Navigation
337
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/navigation-constant.html)
338
+ * @see [Navigator Widget](https://api.flutter.dev/flutter/widgets/Navigator-class.html)
339
+ */
340
+@property(nonatomic, readonly) FlutterMethodChannel* navigationChannel;
341
+
342
+/**
343
+ * The `FlutterMethodChannel` used for restoration related platform messages.
344
+ *
345
+ * Can be nil after `destroyContext` is called.
346
+ *
347
+ * @see [Restoration
348
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/restoration-constant.html)
349
+ */
350
+@property(nonatomic, readonly) FlutterMethodChannel* restorationChannel;
351
+
352
+/**
353
+ * The `FlutterMethodChannel` used for core platform messages, such as
354
+ * information about the screen orientation.
355
+ *
356
+ * Can be nil after `destroyContext` is called.
357
+ */
358
+@property(nonatomic, readonly) FlutterMethodChannel* platformChannel;
359
+
360
+/**
361
+ * The `FlutterMethodChannel` used to communicate text input events to the
362
+ * Dart Isolate.
363
+ *
364
+ * Can be nil after `destroyContext` is called.
365
+ *
366
+ * @see [Text Input
367
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/textInput-constant.html)
368
+ */
369
+@property(nonatomic, readonly) FlutterMethodChannel* textInputChannel;
370
+
371
+/**
372
+ * The `FlutterBasicMessageChannel` used to communicate app lifecycle events
373
+ * to the Dart Isolate.
374
+ *
375
+ * Can be nil after `destroyContext` is called.
376
+ *
377
+ * @see [Lifecycle
378
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/lifecycle-constant.html)
379
+ */
380
+@property(nonatomic, readonly) FlutterBasicMessageChannel* lifecycleChannel;
381
+
382
+/**
383
+ * The `FlutterBasicMessageChannel` used for communicating system events, such as
384
+ * memory pressure events.
385
+ *
386
+ * Can be nil after `destroyContext` is called.
387
+ *
388
+ * @see [System
389
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/system-constant.html)
390
+ */
391
+@property(nonatomic, readonly) FlutterBasicMessageChannel* systemChannel;
392
+
393
+/**
394
+ * The `FlutterBasicMessageChannel` used for communicating user settings such as
395
+ * clock format and text scale.
396
+ *
397
+ * Can be nil after `destroyContext` is called.
398
+ */
399
+@property(nonatomic, readonly) FlutterBasicMessageChannel* settingsChannel;
400
+
401
+/**
402
+ * The `FlutterBasicMessageChannel` used for communicating key events
403
+ * from physical keyboards
404
+ *
405
+ * Can be nil after `destroyContext` is called.
406
+ */
407
+@property(nonatomic, readonly) FlutterBasicMessageChannel* keyEventChannel;
408
+
409
+/**
410
+ * The `NSURL` of the observatory for the service isolate.
411
+ *
412
+ * This is only set in debug and profile runtime modes, and only after the
413
+ * observatory service is ready. In release mode or before the observatory has
414
+ * started, it returns `nil`.
415
+ */
416
+@property(nonatomic, readonly, nullable) NSURL* observatoryUrl;
417
+
418
+/**
419
+ * The `FlutterBinaryMessenger` associated with this FlutterEngine (used for communicating with
420
+ * channels).
421
+ */
422
+@property(nonatomic, readonly) NSObject<FlutterBinaryMessenger>* binaryMessenger;
423
+
424
+/**
425
+ * The UI Isolate ID of the engine.
426
+ *
427
+ * This property will be nil if the engine is not running.
428
+ */
429
+@property(nonatomic, readonly, copy, nullable) NSString* isolateId;
430
+
431
+/**
432
+ * Whether or not GPU calls are allowed.
433
+ *
434
+ * Typically this is set when the app is backgrounded and foregrounded.
435
+ */
436
+@property(nonatomic, assign) BOOL isGpuDisabled;
437
+
438
+@end
439
+
440
+NS_ASSUME_NONNULL_END
441
+
442
+#endif  // FLUTTER_FLUTTERENGINE_H_

+ 110
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterEngineGroup.h View File

@@ -0,0 +1,110 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#import <Foundation/Foundation.h>
6
+
7
+#import "FlutterEngine.h"
8
+
9
+NS_ASSUME_NONNULL_BEGIN
10
+
11
+/** Options that control how a FlutterEngine should be created. */
12
+FLUTTER_DARWIN_EXPORT
13
+@interface FlutterEngineGroupOptions : NSObject
14
+
15
+/**
16
+ * The name of a top-level function from a Dart library.  If this is FlutterDefaultDartEntrypoint
17
+ * (or nil); this will default to `main()`.  If it is not the app's main() function, that function
18
+ * must be decorated with `@pragma(vm:entry-point)` to ensure themethod is not tree-shaken by the
19
+ * Dart compiler.
20
+ */
21
+@property(nonatomic, copy, nullable) NSString* entrypoint;
22
+
23
+/**
24
+ * The URI of the Dart library which contains the entrypoint method.  If nil, this will default to
25
+ * the same library as the `main()` function in the Dart program.
26
+ */
27
+@property(nonatomic, copy, nullable) NSString* libraryURI;
28
+
29
+/**
30
+ * The name of the initial Flutter `Navigator` `Route` to load. If this is
31
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
32
+ */
33
+@property(nonatomic, copy, nullable) NSString* initialRoute;
34
+
35
+/**
36
+ * Arguments passed as a list of string to Dart's entrypoint function.
37
+ */
38
+@property(nonatomic, retain, nullable) NSArray<NSString*>* entrypointArgs;
39
+@end
40
+
41
+/**
42
+ * Represents a collection of FlutterEngines who share resources which allows
43
+ * them to be created with less time const and occupy less memory than just
44
+ * creating multiple FlutterEngines.
45
+ *
46
+ * Deleting a FlutterEngineGroup doesn't invalidate existing FlutterEngines, but
47
+ * it eliminates the possibility to create more FlutterEngines in that group.
48
+ *
49
+ * @warning This class is a work-in-progress and may change.
50
+ * @see https://github.com/flutter/flutter/issues/72009
51
+ */
52
+FLUTTER_DARWIN_EXPORT
53
+@interface FlutterEngineGroup : NSObject
54
+- (instancetype)init NS_UNAVAILABLE;
55
+
56
+/**
57
+ * Initialize a new FlutterEngineGroup.
58
+ *
59
+ * @param name The name that will present in the threads shared across the
60
+ * engines in this group.
61
+ * @param project The `FlutterDartProject` that all FlutterEngines in this group
62
+ * will be executing.
63
+ */
64
+- (instancetype)initWithName:(NSString*)name
65
+                     project:(nullable FlutterDartProject*)project NS_DESIGNATED_INITIALIZER;
66
+
67
+/**
68
+ * Creates a running `FlutterEngine` that shares components with this group.
69
+ *
70
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
71
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
72
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
73
+ *   method is not tree-shaken by the Dart compiler.
74
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
75
+ *   this will default to the same library as the `main()` function in the Dart program.
76
+ *
77
+ * @see FlutterEngineGroup
78
+ */
79
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
80
+                                libraryURI:(nullable NSString*)libraryURI;
81
+
82
+/**
83
+ * Creates a running `FlutterEngine` that shares components with this group.
84
+ *
85
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
86
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
87
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
88
+ *   method is not tree-shaken by the Dart compiler.
89
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
90
+ *   this will default to the same library as the `main()` function in the Dart program.
91
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
92
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
93
+ *
94
+ * @see FlutterEngineGroup
95
+ */
96
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
97
+                                libraryURI:(nullable NSString*)libraryURI
98
+                              initialRoute:(nullable NSString*)initialRoute;
99
+
100
+/**
101
+ * Creates a running `FlutterEngine` that shares components with this group.
102
+ *
103
+ * @param options Options that control how a FlutterEngine should be created.
104
+ *
105
+ * @see FlutterEngineGroupOptions
106
+ */
107
+- (FlutterEngine*)makeEngineWithOptions:(nullable FlutterEngineGroupOptions*)options;
108
+@end
109
+
110
+NS_ASSUME_NONNULL_END

+ 97
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterHeadlessDartRunner.h View File

@@ -0,0 +1,97 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
6
+#define FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterBinaryMessenger.h"
11
+#import "FlutterDartProject.h"
12
+#import "FlutterEngine.h"
13
+#import "FlutterMacros.h"
14
+
15
+/**
16
+ * A callback for when FlutterHeadlessDartRunner has attempted to start a Dart
17
+ * Isolate in the background.
18
+ *
19
+ * @param success YES if the Isolate was started and run successfully, NO
20
+ *   otherwise.
21
+ */
22
+typedef void (^FlutterHeadlessDartRunnerCallback)(BOOL success);
23
+
24
+/**
25
+ * The deprecated FlutterHeadlessDartRunner runs Flutter Dart code with a null rasterizer,
26
+ * and no native drawing surface. It is appropriate for use in running Dart
27
+ * code e.g. in the background from a plugin.
28
+ *
29
+ * Most callers should prefer using `FlutterEngine` directly; this interface exists
30
+ * for legacy support.
31
+ */
32
+FLUTTER_DARWIN_EXPORT
33
+FLUTTER_DEPRECATED("FlutterEngine should be used rather than FlutterHeadlessDartRunner")
34
+@interface FlutterHeadlessDartRunner : FlutterEngine
35
+
36
+/**
37
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
38
+ *
39
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
40
+ * the project in a default location.
41
+ *
42
+ * A newly initialized engine will not run the `FlutterDartProject` until either
43
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
44
+ *
45
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
46
+ * be unique across FlutterEngine instances
47
+ * @param projectOrNil The `FlutterDartProject` to run.
48
+ */
49
+- (instancetype)initWithName:(NSString*)labelPrefix project:(FlutterDartProject*)projectOrNil;
50
+
51
+/**
52
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
53
+ *
54
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
55
+ * the project in a default location.
56
+ *
57
+ * A newly initialized engine will not run the `FlutterDartProject` until either
58
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
59
+ *
60
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
61
+ * be unique across FlutterEngine instances
62
+ * @param projectOrNil The `FlutterDartProject` to run.
63
+ * @param allowHeadlessExecution Must be set to `YES`.
64
+ */
65
+- (instancetype)initWithName:(NSString*)labelPrefix
66
+                     project:(FlutterDartProject*)projectOrNil
67
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution;
68
+
69
+/**
70
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
71
+ *
72
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
73
+ * the project in a default location.
74
+ *
75
+ * A newly initialized engine will not run the `FlutterDartProject` until either
76
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
77
+ *
78
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
79
+ * be unique across FlutterEngine instances
80
+ * @param projectOrNil The `FlutterDartProject` to run.
81
+ * @param allowHeadlessExecution Must be set to `YES`.
82
+ * @param restorationEnabled Must be set to `NO`.
83
+ */
84
+- (instancetype)initWithName:(NSString*)labelPrefix
85
+                     project:(FlutterDartProject*)projectOrNil
86
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution
87
+          restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
88
+
89
+/**
90
+ * Not recommended for use - will initialize with a default label ("io.flutter.headless")
91
+ * and the default FlutterDartProject.
92
+ */
93
+- (instancetype)init;
94
+
95
+@end
96
+
97
+#endif  // FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_

+ 48
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterMacros.h View File

@@ -0,0 +1,48 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERMACROS_H_
6
+#define FLUTTER_FLUTTERMACROS_H_
7
+
8
+#if defined(FLUTTER_FRAMEWORK)
9
+
10
+#define FLUTTER_DARWIN_EXPORT __attribute__((visibility("default")))
11
+
12
+#else  // defined(FLUTTER_SDK)
13
+
14
+#define FLUTTER_DARWIN_EXPORT
15
+
16
+#endif  // defined(FLUTTER_SDK)
17
+
18
+#ifndef NS_ASSUME_NONNULL_BEGIN
19
+#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
20
+#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
21
+#endif  // defined(NS_ASSUME_NONNULL_BEGIN)
22
+
23
+/**
24
+ * Indicates that the API has been deprecated for the specified reason. Code
25
+ * that uses the deprecated API will continue to work as before. However, the
26
+ * API will soon become unavailable and users are encouraged to immediately take
27
+ * the appropriate action mentioned in the deprecation message and the BREAKING
28
+ * CHANGES section present in the Flutter.h umbrella header.
29
+ */
30
+#define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg)))
31
+
32
+/**
33
+ * Indicates that the previously deprecated API is now unavailable. Code that
34
+ * uses the API will not work and the declaration of the API is only a stub
35
+ * meant to display the given message detailing the actions for the user to take
36
+ * immediately.
37
+ */
38
+#define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg)))
39
+
40
+#if __has_feature(objc_arc)
41
+#define FLUTTER_ASSERT_ARC
42
+#define FLUTTER_ASSERT_NOT_ARC #error ARC must be disabled!
43
+#else
44
+#define FLUTTER_ASSERT_ARC #error ARC must be enabled!
45
+#define FLUTTER_ASSERT_NOT_ARC
46
+#endif
47
+
48
+#endif  // FLUTTER_FLUTTERMACROS_H_

+ 56
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterPlatformViews.h View File

@@ -0,0 +1,56 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERPLATFORMVIEWS_H_
6
+#define FLUTTER_FLUTTERPLATFORMVIEWS_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+
10
+#import "FlutterCodecs.h"
11
+#import "FlutterMacros.h"
12
+
13
+NS_ASSUME_NONNULL_BEGIN
14
+
15
+/**
16
+ * Wraps a `UIView` for embedding in the Flutter hierarchy
17
+ */
18
+@protocol FlutterPlatformView <NSObject>
19
+/**
20
+ * Returns a reference to the `UIView` that is wrapped by this `FlutterPlatformView`.
21
+ */
22
+- (UIView*)view;
23
+@end
24
+
25
+FLUTTER_DARWIN_EXPORT
26
+@protocol FlutterPlatformViewFactory <NSObject>
27
+/**
28
+ * Create a `FlutterPlatformView`.
29
+ *
30
+ * Implemented by iOS code that expose a `UIView` for embedding in a Flutter app.
31
+ *
32
+ * The implementation of this method should create a new `UIView` and return it.
33
+ *
34
+ * @param frame The rectangle for the newly created `UIView` measured in points.
35
+ * @param viewId A unique identifier for this `UIView`.
36
+ * @param args Parameters for creating the `UIView` sent from the Dart side of the Flutter app.
37
+ *   If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart
38
+ *   code, this will be null. Otherwise this will be the value sent from the Dart code as decoded by
39
+ *   `createArgsCodec`.
40
+ */
41
+- (NSObject<FlutterPlatformView>*)createWithFrame:(CGRect)frame
42
+                                   viewIdentifier:(int64_t)viewId
43
+                                        arguments:(id _Nullable)args;
44
+
45
+/**
46
+ * Returns the `FlutterMessageCodec` for decoding the args parameter of `createWithFrame`.
47
+ *
48
+ * Only needs to be implemented if `createWithFrame` needs an arguments parameter.
49
+ */
50
+@optional
51
+- (NSObject<FlutterMessageCodec>*)createArgsCodec;
52
+@end
53
+
54
+NS_ASSUME_NONNULL_END
55
+
56
+#endif  // FLUTTER_FLUTTERPLATFORMVIEWS_H_

+ 450
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterPlugin.h View File

@@ -0,0 +1,450 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERPLUGIN_H_
6
+#define FLUTTER_FLUTTERPLUGIN_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+#import <UserNotifications/UNUserNotificationCenter.h>
10
+
11
+#import "FlutterBinaryMessenger.h"
12
+#import "FlutterChannels.h"
13
+#import "FlutterCodecs.h"
14
+#import "FlutterPlatformViews.h"
15
+#import "FlutterTexture.h"
16
+
17
+NS_ASSUME_NONNULL_BEGIN
18
+@protocol FlutterPluginRegistrar;
19
+@protocol FlutterPluginRegistry;
20
+
21
+#pragma mark -
22
+/**
23
+ * Protocol for listener of events from the UIApplication, typically a FlutterPlugin.
24
+ */
25
+@protocol FlutterApplicationLifeCycleDelegate
26
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
27
+    <UNUserNotificationCenterDelegate>
28
+#endif
29
+@optional
30
+/**
31
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
32
+ *
33
+ * @return `NO` if this vetoes application launch.
34
+ */
35
+- (BOOL)application:(UIApplication*)application
36
+    didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
37
+
38
+/**
39
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
40
+ *
41
+ * @return `NO` if this vetoes application launch.
42
+ */
43
+- (BOOL)application:(UIApplication*)application
44
+    willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
45
+
46
+/**
47
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
48
+ */
49
+- (void)applicationDidBecomeActive:(UIApplication*)application;
50
+
51
+/**
52
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
53
+ */
54
+- (void)applicationWillResignActive:(UIApplication*)application;
55
+
56
+/**
57
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
58
+ */
59
+- (void)applicationDidEnterBackground:(UIApplication*)application;
60
+
61
+/**
62
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
63
+ */
64
+- (void)applicationWillEnterForeground:(UIApplication*)application;
65
+
66
+/**
67
+ Called if this has been registered for `UIApplicationDelegate` callbacks.
68
+ */
69
+- (void)applicationWillTerminate:(UIApplication*)application;
70
+
71
+/**
72
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
73
+ */
74
+- (void)application:(UIApplication*)application
75
+    didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
76
+    API_DEPRECATED(
77
+        "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
78
+        ios(8.0, 10.0));
79
+
80
+/**
81
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
82
+ */
83
+- (void)application:(UIApplication*)application
84
+    didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
85
+
86
+/**
87
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
88
+ */
89
+- (void)application:(UIApplication*)application
90
+    didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
91
+
92
+/**
93
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
94
+ *
95
+ * @return `YES` if this handles the request.
96
+ */
97
+- (BOOL)application:(UIApplication*)application
98
+    didReceiveRemoteNotification:(NSDictionary*)userInfo
99
+          fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
100
+
101
+/**
102
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
103
+ */
104
+- (void)application:(UIApplication*)application
105
+    didReceiveLocalNotification:(UILocalNotification*)notification
106
+    API_DEPRECATED(
107
+        "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
108
+        ios(4.0, 10.0));
109
+
110
+/**
111
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
112
+ *
113
+ * @return `YES` if this handles the request.
114
+ */
115
+- (BOOL)application:(UIApplication*)application
116
+            openURL:(NSURL*)url
117
+            options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options;
118
+
119
+/**
120
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
121
+ *
122
+ * @return `YES` if this handles the request.
123
+ */
124
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
125
+
126
+/**
127
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
128
+ *
129
+ * @return `YES` if this handles the request.
130
+ */
131
+- (BOOL)application:(UIApplication*)application
132
+              openURL:(NSURL*)url
133
+    sourceApplication:(NSString*)sourceApplication
134
+           annotation:(id)annotation;
135
+
136
+/**
137
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
138
+ *
139
+ * @return `YES` if this handles the request.
140
+ */
141
+- (BOOL)application:(UIApplication*)application
142
+    performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
143
+               completionHandler:(void (^)(BOOL succeeded))completionHandler
144
+    API_AVAILABLE(ios(9.0));
145
+
146
+/**
147
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
148
+ *
149
+ * @return `YES` if this handles the request.
150
+ */
151
+- (BOOL)application:(UIApplication*)application
152
+    handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
153
+                      completionHandler:(nonnull void (^)(void))completionHandler;
154
+
155
+/**
156
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
157
+ *
158
+ * @return `YES` if this handles the request.
159
+ */
160
+- (BOOL)application:(UIApplication*)application
161
+    performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
162
+
163
+/**
164
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
165
+ *
166
+ * @return `YES` if this handles the request.
167
+ */
168
+- (BOOL)application:(UIApplication*)application
169
+    continueUserActivity:(NSUserActivity*)userActivity
170
+      restorationHandler:(void (^)(NSArray*))restorationHandler;
171
+@end
172
+
173
+#pragma mark -
174
+/**
175
+ * A plugin registration callback.
176
+ *
177
+ * Used for registering plugins with additional instances of
178
+ * `FlutterPluginRegistry`.
179
+ *
180
+ * @param registry The registry to register plugins with.
181
+ */
182
+typedef void (*FlutterPluginRegistrantCallback)(NSObject<FlutterPluginRegistry>* registry);
183
+
184
+#pragma mark -
185
+/**
186
+ * Implemented by the iOS part of a Flutter plugin.
187
+ *
188
+ * Defines a set of optional callback methods and a method to set up the plugin
189
+ * and register it to be called by other application components.
190
+ */
191
+@protocol FlutterPlugin <NSObject, FlutterApplicationLifeCycleDelegate>
192
+@required
193
+/**
194
+ * Registers this plugin using the context information and callback registration
195
+ * methods exposed by the given registrar.
196
+ *
197
+ * The registrar is obtained from a `FlutterPluginRegistry` which keeps track of
198
+ * the identity of registered plugins and provides basic support for cross-plugin
199
+ * coordination.
200
+ *
201
+ * The caller of this method, a plugin registrant, is usually autogenerated by
202
+ * Flutter tooling based on declared plugin dependencies. The generated registrant
203
+ * asks the registry for a registrar for each plugin, and calls this method to
204
+ * allow the plugin to initialize itself and register callbacks with application
205
+ * objects available through the registrar protocol.
206
+ *
207
+ * @param registrar A helper providing application context and methods for
208
+ *     registering callbacks.
209
+ */
210
++ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar;
211
+@optional
212
+/**
213
+ * Set a callback for registering plugins to an additional `FlutterPluginRegistry`,
214
+ * including headless `FlutterEngine` instances.
215
+ *
216
+ * This method is typically called from within an application's `AppDelegate` at
217
+ * startup to allow for plugins which create additional `FlutterEngine` instances
218
+ * to register the application's plugins.
219
+ *
220
+ * @param callback A callback for registering some set of plugins with a
221
+ *     `FlutterPluginRegistry`.
222
+ */
223
++ (void)setPluginRegistrantCallback:(FlutterPluginRegistrantCallback)callback;
224
+@optional
225
+/**
226
+ * Called if this plugin has been registered to receive `FlutterMethodCall`s.
227
+ *
228
+ * @param call The method call command object.
229
+ * @param result A callback for submitting the result of the call.
230
+ */
231
+- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result;
232
+@optional
233
+/**
234
+ * Called when a plugin is being removed from a `FlutterEngine`, which is
235
+ * usually the result of the `FlutterEngine` being deallocated.  This method
236
+ * provides the opportunity to do necessary cleanup.
237
+ *
238
+ * You will only receive this method if you registered your plugin instance with
239
+ * the `FlutterEngine` via `-[FlutterPluginRegistry publish:]`.
240
+ *
241
+ * @param registrar The registrar that was used to publish the plugin.
242
+ *
243
+ */
244
+- (void)detachFromEngineForRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar;
245
+@end
246
+
247
+#pragma mark -
248
+/**
249
+ * How the UIGestureRecognizers of a platform view are blocked.
250
+ *
251
+ * UIGestureRecognizers of platform views can be blocked based on decisions made by the
252
+ * Flutter Framework (e.g. When an interact-able widget is covering the platform view).
253
+ */
254
+typedef enum {
255
+  /**
256
+   * Flutter blocks all the UIGestureRecognizers on the platform view as soon as it
257
+   * decides they should be blocked.
258
+   *
259
+   * With this policy, only the `touchesBegan` method for all the UIGestureRecognizers is guaranteed
260
+   * to be called.
261
+   */
262
+  FlutterPlatformViewGestureRecognizersBlockingPolicyEager,
263
+  /**
264
+   * Flutter blocks the platform view's UIGestureRecognizers from recognizing only after
265
+   * touchesEnded was invoked.
266
+   *
267
+   * This results in the platform view's UIGestureRecognizers seeing the entire touch sequence,
268
+   * but never recognizing the gesture (and never invoking actions).
269
+   */
270
+  FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded,
271
+} FlutterPlatformViewGestureRecognizersBlockingPolicy;
272
+
273
+#pragma mark -
274
+/**
275
+ * Registration context for a single `FlutterPlugin`, providing a one stop shop
276
+ * for the plugin to access contextual information and register callbacks for
277
+ * various application events.
278
+ *
279
+ * Registrars are obtained from a `FlutterPluginRegistry` which keeps track of
280
+ * the identity of registered plugins and provides basic support for cross-plugin
281
+ * coordination.
282
+ */
283
+@protocol FlutterPluginRegistrar <NSObject>
284
+/**
285
+ * Returns a `FlutterBinaryMessenger` for creating Dart/iOS communication
286
+ * channels to be used by the plugin.
287
+ *
288
+ * @return The messenger.
289
+ */
290
+- (NSObject<FlutterBinaryMessenger>*)messenger;
291
+
292
+/**
293
+ * Returns a `FlutterTextureRegistry` for registering textures
294
+ * provided by the plugin.
295
+ *
296
+ * @return The texture registry.
297
+ */
298
+- (NSObject<FlutterTextureRegistry>*)textures;
299
+
300
+/**
301
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
302
+ *
303
+ * Plugins expose `UIView` for embedding in Flutter apps by registering a view factory.
304
+ *
305
+ * @param factory The view factory that will be registered.
306
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
307
+ *   this identifier to request creation of a `UIView` by the registered factory.
308
+ */
309
+- (void)registerViewFactory:(NSObject<FlutterPlatformViewFactory>*)factory
310
+                     withId:(NSString*)factoryId;
311
+
312
+/**
313
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
314
+ *
315
+ * Plugins can expose a `UIView` for embedding in Flutter apps by registering a view factory.
316
+ *
317
+ * @param factory The view factory that will be registered.
318
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
319
+ *   this identifier to request creation of a `UIView` by the registered factory.
320
+ * @param gestureRecognizersBlockingPolicy How UIGestureRecognizers on the platform views are
321
+ * blocked.
322
+ *
323
+ */
324
+- (void)registerViewFactory:(NSObject<FlutterPlatformViewFactory>*)factory
325
+                              withId:(NSString*)factoryId
326
+    gestureRecognizersBlockingPolicy:
327
+        (FlutterPlatformViewGestureRecognizersBlockingPolicy)gestureRecognizersBlockingPolicy;
328
+
329
+/**
330
+ * Publishes a value for external use of the plugin.
331
+ *
332
+ * Plugins may publish a single value, such as an instance of the
333
+ * plugin's main class, for situations where external control or
334
+ * interaction is needed.
335
+ *
336
+ * The published value will be available from the `FlutterPluginRegistry`.
337
+ * Repeated calls overwrite any previous publication.
338
+ *
339
+ * @param value The value to be published.
340
+ */
341
+- (void)publish:(NSObject*)value;
342
+
343
+/**
344
+ * Registers the plugin as a receiver of incoming method calls from the Dart side
345
+ * on the specified `FlutterMethodChannel`.
346
+ *
347
+ * @param delegate The receiving object, such as the plugin's main class.
348
+ * @param channel The channel
349
+ */
350
+- (void)addMethodCallDelegate:(NSObject<FlutterPlugin>*)delegate
351
+                      channel:(FlutterMethodChannel*)channel;
352
+
353
+/**
354
+ * Registers the plugin as a receiver of `UIApplicationDelegate` calls.
355
+ *
356
+ * @param delegate The receiving object, such as the plugin's main class.
357
+ */
358
+- (void)addApplicationDelegate:(NSObject<FlutterPlugin>*)delegate;
359
+
360
+/**
361
+ * Returns the file name for the given asset.
362
+ * The returned file name can be used to access the asset in the application's main bundle.
363
+ *
364
+ * @param asset The name of the asset. The name can be hierarchical.
365
+ * @return the file name to be used for lookup in the main bundle.
366
+ */
367
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
368
+
369
+/**
370
+ * Returns the file name for the given asset which originates from the specified package.
371
+ * The returned file name can be used to access the asset in the application's main bundle.
372
+ *
373
+ *
374
+ * @param asset The name of the asset. The name can be hierarchical.
375
+ * @param package The name of the package from which the asset originates.
376
+ * @return the file name to be used for lookup in the main bundle.
377
+ */
378
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
379
+@end
380
+
381
+#pragma mark -
382
+/**
383
+ * A registry of Flutter iOS plugins.
384
+ *
385
+ * Plugins are identified by unique string keys, typically the name of the
386
+ * plugin's main class. The registry tracks plugins by this key, mapping it to
387
+ * a value published by the plugin during registration, if any. This provides a
388
+ * very basic means of cross-plugin coordination with loose coupling between
389
+ * unrelated plugins.
390
+ *
391
+ * Plugins typically need contextual information and the ability to register
392
+ * callbacks for various application events. To keep the API of the registry
393
+ * focused, these facilities are not provided directly by the registry, but by
394
+ * a `FlutterPluginRegistrar`, created by the registry in exchange for the unique
395
+ * key of the plugin.
396
+ *
397
+ * There is no implied connection between the registry and the registrar.
398
+ * Specifically, callbacks registered by the plugin via the registrar may be
399
+ * relayed directly to the underlying iOS application objects.
400
+ */
401
+@protocol FlutterPluginRegistry <NSObject>
402
+/**
403
+ * Returns a registrar for registering a plugin.
404
+ *
405
+ * @param pluginKey The unique key identifying the plugin.
406
+ */
407
+- (nullable NSObject<FlutterPluginRegistrar>*)registrarForPlugin:(NSString*)pluginKey;
408
+/**
409
+ * Returns whether the specified plugin has been registered.
410
+ *
411
+ * @param pluginKey The unique key identifying the plugin.
412
+ * @return `YES` if `registrarForPlugin` has been called with `pluginKey`.
413
+ */
414
+- (BOOL)hasPlugin:(NSString*)pluginKey;
415
+
416
+/**
417
+ * Returns a value published by the specified plugin.
418
+ *
419
+ * @param pluginKey The unique key identifying the plugin.
420
+ * @return An object published by the plugin, if any. Will be `NSNull` if
421
+ *   nothing has been published. Will be `nil` if the plugin has not been
422
+ *   registered.
423
+ */
424
+- (nullable NSObject*)valuePublishedByPlugin:(NSString*)pluginKey;
425
+@end
426
+
427
+#pragma mark -
428
+/**
429
+ * Implement this in the `UIAppDelegate` of your app to enable Flutter plugins to register
430
+ * themselves to the application life cycle events.
431
+ *
432
+ * For plugins to receive events from `UNUserNotificationCenter`, register this as the
433
+ * `UNUserNotificationCenterDelegate`.
434
+ */
435
+@protocol FlutterAppLifeCycleProvider
436
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
437
+    <UNUserNotificationCenterDelegate>
438
+#endif
439
+
440
+/**
441
+ * Called when registering a new `FlutterApplicaitonLifeCycleDelegate`.
442
+ *
443
+ * See also: `-[FlutterAppDelegate addApplicationLifeCycleDelegate:]`
444
+ */
445
+- (void)addApplicationLifeCycleDelegate:(NSObject<FlutterApplicationLifeCycleDelegate>*)delegate;
446
+@end
447
+
448
+NS_ASSUME_NONNULL_END
449
+
450
+#endif  // FLUTTER_FLUTTERPLUGIN_H_

+ 151
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h View File

@@ -0,0 +1,151 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
6
+#define FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
7
+
8
+#import "FlutterPlugin.h"
9
+
10
+NS_ASSUME_NONNULL_BEGIN
11
+
12
+/**
13
+ * Propagates `UIAppDelegate` callbacks to registered plugins.
14
+ */
15
+FLUTTER_DARWIN_EXPORT
16
+@interface FlutterPluginAppLifeCycleDelegate : NSObject
17
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
18
+                                               <UNUserNotificationCenterDelegate>
19
+#endif
20
+
21
+/**
22
+ * Registers `delegate` to receive life cycle callbacks via this FlutterPluginAppLifecycleDelegate
23
+ * as long as it is alive.
24
+ *
25
+ * `delegate` will only referenced weakly.
26
+ */
27
+- (void)addDelegate:(NSObject<FlutterApplicationLifeCycleDelegate>*)delegate;
28
+
29
+/**
30
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
31
+ *
32
+ * @return `NO` if any plugin vetoes application launch.
33
+ */
34
+- (BOOL)application:(UIApplication*)application
35
+    didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
36
+
37
+/**
38
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
39
+ *
40
+ * @return `NO` if any plugin vetoes application launch.
41
+ */
42
+- (BOOL)application:(UIApplication*)application
43
+    willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
44
+
45
+/**
46
+ * Called if this plugin has been registered for `UIApplicationDelegate` callbacks.
47
+ */
48
+- (void)application:(UIApplication*)application
49
+    didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
50
+    API_DEPRECATED(
51
+        "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
52
+        ios(8.0, 10.0));
53
+
54
+/**
55
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
56
+ */
57
+- (void)application:(UIApplication*)application
58
+    didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
59
+
60
+/**
61
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
62
+ */
63
+- (void)application:(UIApplication*)application
64
+    didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
65
+
66
+/**
67
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
68
+ */
69
+- (void)application:(UIApplication*)application
70
+    didReceiveRemoteNotification:(NSDictionary*)userInfo
71
+          fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
72
+
73
+/**
74
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
75
+ */
76
+- (void)application:(UIApplication*)application
77
+    didReceiveLocalNotification:(UILocalNotification*)notification
78
+    API_DEPRECATED(
79
+        "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
80
+        ios(4.0, 10.0));
81
+
82
+/**
83
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
84
+ * some plugin handles the request.
85
+ *
86
+ *  @return `YES` if any plugin handles the request.
87
+ */
88
+- (BOOL)application:(UIApplication*)application
89
+            openURL:(NSURL*)url
90
+            options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options;
91
+
92
+/**
93
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
94
+ * some plugin handles the request.
95
+ *
96
+ * @return `YES` if any plugin handles the request.
97
+ */
98
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
99
+
100
+/**
101
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
102
+ * some plugin handles the request.
103
+ *
104
+ * @return `YES` if any plugin handles the request.
105
+ */
106
+- (BOOL)application:(UIApplication*)application
107
+              openURL:(NSURL*)url
108
+    sourceApplication:(NSString*)sourceApplication
109
+           annotation:(id)annotation;
110
+
111
+/**
112
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
113
+ */
114
+- (void)application:(UIApplication*)application
115
+    performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
116
+               completionHandler:(void (^)(BOOL succeeded))completionHandler
117
+    API_AVAILABLE(ios(9.0));
118
+
119
+/**
120
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
121
+ * some plugin handles the request.
122
+ *
123
+ * @return `YES` if any plugin handles the request.
124
+ */
125
+- (BOOL)application:(UIApplication*)application
126
+    handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
127
+                      completionHandler:(nonnull void (^)(void))completionHandler;
128
+
129
+/**
130
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
131
+ * some plugin handles the request.
132
+ *
133
+ * @returns `YES` if any plugin handles the request.
134
+ */
135
+- (BOOL)application:(UIApplication*)application
136
+    performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
137
+
138
+/**
139
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
140
+ * some plugin handles the request.
141
+ *
142
+ * @return `YES` if any plugin handles the request.
143
+ */
144
+- (BOOL)application:(UIApplication*)application
145
+    continueUserActivity:(NSUserActivity*)userActivity
146
+      restorationHandler:(void (^)(NSArray*))restorationHandler;
147
+@end
148
+
149
+NS_ASSUME_NONNULL_END
150
+
151
+#endif  // FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_

+ 62
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterTexture.h View File

@@ -0,0 +1,62 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERTEXTURE_H_
6
+#define FLUTTER_FLUTTERTEXTURE_H_
7
+
8
+#import <CoreMedia/CoreMedia.h>
9
+#import <Foundation/Foundation.h>
10
+
11
+#import "FlutterMacros.h"
12
+
13
+NS_ASSUME_NONNULL_BEGIN
14
+
15
+FLUTTER_DARWIN_EXPORT
16
+/**
17
+ * Represents a texture that can be shared with Flutter.
18
+ *
19
+ * See also: https://github.com/flutter/plugins/tree/master/packages/camera
20
+ */
21
+@protocol FlutterTexture <NSObject>
22
+/** Copy the contents of the texture into a `CVPixelBuffer`. */
23
+- (CVPixelBufferRef _Nullable)copyPixelBuffer;
24
+
25
+/**
26
+ * Called when the texture is unregistered.
27
+ *
28
+ * Called on the raster thread.
29
+ */
30
+@optional
31
+- (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture;
32
+@end
33
+
34
+FLUTTER_DARWIN_EXPORT
35
+/**
36
+ * A collection of registered `FlutterTexture`'s.
37
+ */
38
+@protocol FlutterTextureRegistry <NSObject>
39
+/**
40
+ * Registers a `FlutterTexture` for usage in Flutter and returns an id that can be used to reference
41
+ * that texture when calling into Flutter with channels. Textures must be registered on the
42
+ * platform thread. On success returns the pointer to the registered texture, else returns 0.
43
+ */
44
+- (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture;
45
+/**
46
+ * Notifies Flutter that the content of the previously registered texture has been updated.
47
+ *
48
+ * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread.
49
+ */
50
+- (void)textureFrameAvailable:(int64_t)textureId;
51
+/**
52
+ * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures
53
+ * must be unregistered on the platform thread.
54
+ *
55
+ * @param textureId The result that was previously returned from `registerTexture:`.
56
+ */
57
+- (void)unregisterTexture:(int64_t)textureId;
58
+@end
59
+
60
+NS_ASSUME_NONNULL_END
61
+
62
+#endif  // FLUTTER_FLUTTERTEXTURE_H_

+ 249
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Headers/FlutterViewController.h View File

@@ -0,0 +1,249 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERVIEWCONTROLLER_H_
6
+#define FLUTTER_FLUTTERVIEWCONTROLLER_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+#include <sys/cdefs.h>
10
+
11
+#import "FlutterBinaryMessenger.h"
12
+#import "FlutterDartProject.h"
13
+#import "FlutterEngine.h"
14
+#import "FlutterMacros.h"
15
+#import "FlutterPlugin.h"
16
+#import "FlutterTexture.h"
17
+
18
+NS_ASSUME_NONNULL_BEGIN
19
+
20
+@class FlutterEngine;
21
+
22
+/**
23
+ * The name used for semantic update notifications via `NSNotificationCenter`.
24
+ *
25
+ * The object passed as the sender is the `FlutterViewController` associated
26
+ * with the update.
27
+ */
28
+FLUTTER_DARWIN_EXPORT
29
+extern NSNotificationName const FlutterSemanticsUpdateNotification;
30
+
31
+/**
32
+ * A `UIViewController` implementation for Flutter views.
33
+ *
34
+ * Dart execution, channel communication, texture registration, and plugin registration are all
35
+ * handled by `FlutterEngine`. Calls on this class to those members all proxy through to the
36
+ * `FlutterEngine` attached FlutterViewController.
37
+ *
38
+ * A FlutterViewController can be initialized either with an already-running `FlutterEngine` via the
39
+ * `initWithEngine:` initializer, or it can be initialized with a `FlutterDartProject` that will be
40
+ * used to implicitly spin up a new `FlutterEngine`. Creating a `FlutterEngine` before showing a
41
+ * FlutterViewController can be used to pre-initialize the Dart VM and to prepare the isolate in
42
+ * order to reduce the latency to the first rendered frame. See
43
+ * https://flutter.dev/docs/development/add-to-app/performance for more details on loading
44
+ * latency.
45
+ *
46
+ * Holding a `FlutterEngine` independently of FlutterViewControllers can also be used to not to lose
47
+ * Dart-related state and asynchronous tasks when navigating back and forth between a
48
+ * FlutterViewController and other `UIViewController`s.
49
+ */
50
+FLUTTER_DARWIN_EXPORT
51
+#ifdef __IPHONE_13_4
52
+@interface FlutterViewController
53
+    : UIViewController <FlutterTextureRegistry, FlutterPluginRegistry, UIGestureRecognizerDelegate>
54
+#else
55
+@interface FlutterViewController : UIViewController <FlutterTextureRegistry, FlutterPluginRegistry>
56
+#endif
57
+
58
+/**
59
+ * Initializes this FlutterViewController with the specified `FlutterEngine`.
60
+ *
61
+ * The initialized viewcontroller will attach itself to the engine as part of this process.
62
+ *
63
+ * @param engine The `FlutterEngine` instance to attach to. Cannot be nil.
64
+ * @param nibName The NIB name to initialize this UIViewController with.
65
+ * @param nibBundle The NIB bundle.
66
+ */
67
+- (instancetype)initWithEngine:(FlutterEngine*)engine
68
+                       nibName:(nullable NSString*)nibName
69
+                        bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
70
+
71
+/**
72
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
73
+ * `FlutterDartProject`.
74
+ *
75
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
76
+ * after initialization.
77
+ *
78
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
79
+ * @param nibName The NIB name to initialize this UIViewController with.
80
+ * @param nibBundle The NIB bundle.
81
+ */
82
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
83
+                        nibName:(nullable NSString*)nibName
84
+                         bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
85
+
86
+/**
87
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
88
+ * `FlutterDartProject` and `initialRoute`.
89
+ *
90
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
91
+ * after initialization.
92
+ *
93
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
94
+ * @param initialRoute The initial `Navigator` route to load.
95
+ * @param nibName The NIB name to initialize this UIViewController with.
96
+ * @param nibBundle The NIB bundle.
97
+ */
98
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
99
+                   initialRoute:(nullable NSString*)initialRoute
100
+                        nibName:(nullable NSString*)nibName
101
+                         bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
102
+
103
+/**
104
+ * Initializer that is called from loading a FlutterViewController from a XIB.
105
+ *
106
+ * See also:
107
+ * https://developer.apple.com/documentation/foundation/nscoding/1416145-initwithcoder?language=objc
108
+ */
109
+- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_DESIGNATED_INITIALIZER;
110
+
111
+/**
112
+ * Registers a callback that will be invoked when the Flutter view has been rendered.
113
+ * The callback will be fired only once.
114
+ *
115
+ * Replaces an existing callback. Use a `nil` callback to unregister the existing one.
116
+ */
117
+- (void)setFlutterViewDidRenderCallback:(void (^)(void))callback;
118
+
119
+/**
120
+ * Returns the file name for the given asset.
121
+ * The returned file name can be used to access the asset in the application's
122
+ * main bundle.
123
+ *
124
+ * @param asset The name of the asset. The name can be hierarchical.
125
+ * @return The file name to be used for lookup in the main bundle.
126
+ */
127
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
128
+
129
+/**
130
+ * Returns the file name for the given asset which originates from the specified
131
+ * package.
132
+ * The returned file name can be used to access the asset in the application's
133
+ * main bundle.
134
+ *
135
+ * @param asset The name of the asset. The name can be hierarchical.
136
+ * @param package The name of the package from which the asset originates.
137
+ * @return The file name to be used for lookup in the main bundle.
138
+ */
139
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
140
+
141
+/**
142
+ * Deprecated API to set initial route.
143
+ *
144
+ * Attempts to set the first route that the Flutter app shows if the Flutter
145
+ * runtime hasn't yet started. The default is "/".
146
+ *
147
+ * This method must be called immediately after `initWithProject` and has no
148
+ * effect when using `initWithEngine` if the `FlutterEngine` has already been
149
+ * run.
150
+ *
151
+ * Setting this after the Flutter started running has no effect. See `pushRoute`
152
+ * and `popRoute` to change the route after Flutter started running.
153
+ *
154
+ * This is deprecated because it needs to be called at the time of initialization
155
+ * and thus should just be in the `initWithProject` initializer. If using
156
+ * `initWithEngine`, the initial route should be set on the engine's
157
+ * initializer.
158
+ *
159
+ * @param route The name of the first route to show.
160
+ */
161
+- (void)setInitialRoute:(NSString*)route
162
+    FLUTTER_DEPRECATED("Use FlutterViewController initializer to specify initial route");
163
+
164
+/**
165
+ * Instructs the Flutter Navigator (if any) to go back.
166
+ */
167
+- (void)popRoute;
168
+
169
+/**
170
+ * Instructs the Flutter Navigator (if any) to push a route on to the navigation
171
+ * stack.
172
+ *
173
+ * @param route The name of the route to push to the navigation stack.
174
+ */
175
+- (void)pushRoute:(NSString*)route;
176
+
177
+/**
178
+ * The `FlutterPluginRegistry` used by this FlutterViewController.
179
+ */
180
+- (id<FlutterPluginRegistry>)pluginRegistry;
181
+
182
+/**
183
+ * True if at least one frame has rendered and the ViewController has appeared.
184
+ *
185
+ * This property is reset to false when the ViewController disappears. It is
186
+ * guaranteed to only alternate between true and false for observers.
187
+ */
188
+@property(nonatomic, readonly, getter=isDisplayingFlutterUI) BOOL displayingFlutterUI;
189
+
190
+/**
191
+ * Specifies the view to use as a splash screen. Flutter's rendering is asynchronous, so the first
192
+ * frame rendered by the Flutter application might not immediately appear when theFlutter view is
193
+ * initially placed in the view hierarchy. The splash screen view will be used as
194
+ * a replacement until the first frame is rendered.
195
+ *
196
+ * The view used should be appropriate for multiple sizes; an autoresizing mask to
197
+ * have a flexible width and height will be applied automatically.
198
+ */
199
+@property(strong, nonatomic) UIView* splashScreenView;
200
+
201
+/**
202
+ * Attempts to set the `splashScreenView` property from the `UILaunchStoryboardName` from the
203
+ * main bundle's `Info.plist` file.  This method will not change the value of `splashScreenView`
204
+ * if it cannot find a default one from a storyboard or nib.
205
+ *
206
+ * @return `YES` if successful, `NO` otherwise.
207
+ */
208
+- (BOOL)loadDefaultSplashScreenView;
209
+
210
+/**
211
+ * Controls whether the created view will be opaque or not.
212
+ *
213
+ * Default is `YES`.  Note that setting this to `NO` may negatively impact performance
214
+ * when using hardware acceleration, and toggling this will trigger a re-layout of the
215
+ * view.
216
+ */
217
+@property(nonatomic, getter=isViewOpaque) BOOL viewOpaque;
218
+
219
+/**
220
+ * The `FlutterEngine` instance for this view controller. This could be the engine this
221
+ * `FlutterViewController` is initialized with or a new `FlutterEngine` implicitly created if
222
+ * no engine was supplied during initialization.
223
+ */
224
+@property(weak, nonatomic, readonly) FlutterEngine* engine;
225
+
226
+/**
227
+ * The `FlutterBinaryMessenger` associated with this FlutterViewController (used for communicating
228
+ * with channels).
229
+ *
230
+ * This is just a convenient way to get the |FlutterEngine|'s binary messenger.
231
+ */
232
+@property(nonatomic, readonly) NSObject<FlutterBinaryMessenger>* binaryMessenger;
233
+
234
+/**
235
+ * If the `FlutterViewController` creates a `FlutterEngine`, this property
236
+ * determines if that `FlutterEngine` has `allowHeadlessExecution` set.
237
+ *
238
+ * The intention is that this is used with the XIB.  Otherwise, a
239
+ * `FlutterEngine` can just be sent to the init methods.
240
+ *
241
+ * See also: `-[FlutterEngine initWithName:project:allowHeadlessExecution:]`
242
+ */
243
+@property(nonatomic, readonly) BOOL engineAllowHeadlessExecution;
244
+
245
+@end
246
+
247
+NS_ASSUME_NONNULL_END
248
+
249
+#endif  // FLUTTER_FLUTTERVIEWCONTROLLER_H_

+ 30
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Info.plist View File

@@ -0,0 +1,30 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+  <key>CFBundleDevelopmentRegion</key>
6
+  <string>en</string>
7
+  <key>CFBundleExecutable</key>
8
+  <string>Flutter</string>
9
+  <key>CFBundleIdentifier</key>
10
+  <string>io.flutter.flutter</string>
11
+  <key>CFBundleInfoDictionaryVersion</key>
12
+  <string>6.0</string>
13
+  <key>CFBundleName</key>
14
+  <string>Flutter</string>
15
+  <key>CFBundlePackageType</key>
16
+  <string>FMWK</string>
17
+  <key>CFBundleShortVersionString</key>
18
+  <string>1.0</string>
19
+  <key>CFBundleSignature</key>
20
+  <string>????</string>
21
+  <key>CFBundleVersion</key>
22
+  <string>1.0</string>
23
+  <key>MinimumOSVersion</key>
24
+  <string>9.0</string>
25
+  <key>FlutterEngine</key>
26
+  <string>57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab</string>
27
+  <key>ClangVersion</key>
28
+  <string>b'Apple clang version 12.0.0 (clang-1200.0.32.2)'</string>
29
+</dict>
30
+</plist>

+ 6
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/Modules/module.modulemap View File

@@ -0,0 +1,6 @@
1
+framework module Flutter {
2
+  umbrella header "Flutter.h"
3
+
4
+  export *
5
+  module * { export * }
6
+}

+ 372
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/_CodeSignature/CodeResources View File

@@ -0,0 +1,372 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>files</key>
6
+	<dict>
7
+		<key>Headers/Flutter.h</key>
8
+		<data>
9
+		Jfv2Vo3itUyjWGSxXIEV/9Skri8=
10
+		</data>
11
+		<key>Headers/FlutterAppDelegate.h</key>
12
+		<data>
13
+		QU3ZohDucENpee9k2C4s7Ovkwxw=
14
+		</data>
15
+		<key>Headers/FlutterBinaryMessenger.h</key>
16
+		<data>
17
+		etrFpvIkvsKk1mlvYXGTBvgwzzE=
18
+		</data>
19
+		<key>Headers/FlutterCallbackCache.h</key>
20
+		<data>
21
+		lTUaQzdBsC/YVTRn48+amlv1iw4=
22
+		</data>
23
+		<key>Headers/FlutterChannels.h</key>
24
+		<data>
25
+		sHj+Q0IC9IHcDQFEUVW9NjjVwyo=
26
+		</data>
27
+		<key>Headers/FlutterCodecs.h</key>
28
+		<data>
29
+		O4jh4GUQe4YBT6YjVMXNbQMbalk=
30
+		</data>
31
+		<key>Headers/FlutterDartProject.h</key>
32
+		<data>
33
+		KV/kYQEVGGR8R5A47Y8un4FVpyM=
34
+		</data>
35
+		<key>Headers/FlutterEngine.h</key>
36
+		<data>
37
+		iK8LlXFSIB+kRycoxv7/IGhwLtg=
38
+		</data>
39
+		<key>Headers/FlutterEngineGroup.h</key>
40
+		<data>
41
+		nZcTgHGDD30QzPLlQfP8gP+S06o=
42
+		</data>
43
+		<key>Headers/FlutterHeadlessDartRunner.h</key>
44
+		<data>
45
+		XnDDN+yQj6qLXTuhI0tgTMDbtbI=
46
+		</data>
47
+		<key>Headers/FlutterMacros.h</key>
48
+		<data>
49
+		I9N4VAVhaoHjYjsRdmqSzEYJgN4=
50
+		</data>
51
+		<key>Headers/FlutterPlatformViews.h</key>
52
+		<data>
53
+		JofRibXJB+HPxhe0SAphfoKFSTE=
54
+		</data>
55
+		<key>Headers/FlutterPlugin.h</key>
56
+		<data>
57
+		S/UeCZ6Y0yI99FfBwKgU9PS43Ew=
58
+		</data>
59
+		<key>Headers/FlutterPluginAppLifeCycleDelegate.h</key>
60
+		<data>
61
+		zAGEwFaURRrydTUwPCDUz7GJ6zM=
62
+		</data>
63
+		<key>Headers/FlutterTexture.h</key>
64
+		<data>
65
+		yBJovGku2dvjTDXp2km51wNc8yM=
66
+		</data>
67
+		<key>Headers/FlutterViewController.h</key>
68
+		<data>
69
+		Q3r7sTHoNIBT8yAHHi1CJOHApog=
70
+		</data>
71
+		<key>Info.plist</key>
72
+		<data>
73
+		Cs55BJxmM6fRteTSVlb1tmMKPUc=
74
+		</data>
75
+		<key>Modules/module.modulemap</key>
76
+		<data>
77
+		wJV5dCKEGl+FAtDc8wJJh/fvKXs=
78
+		</data>
79
+		<key>icudtl.dat</key>
80
+		<data>
81
+		1QumeTTkdhWvmY7i40QoJewEapE=
82
+		</data>
83
+	</dict>
84
+	<key>files2</key>
85
+	<dict>
86
+		<key>Headers/Flutter.h</key>
87
+		<dict>
88
+			<key>hash</key>
89
+			<data>
90
+			Jfv2Vo3itUyjWGSxXIEV/9Skri8=
91
+			</data>
92
+			<key>hash2</key>
93
+			<data>
94
+			uwm8JZgId56AcAI6HgoYvB86L3U5XLTdogukvzdieH0=
95
+			</data>
96
+		</dict>
97
+		<key>Headers/FlutterAppDelegate.h</key>
98
+		<dict>
99
+			<key>hash</key>
100
+			<data>
101
+			QU3ZohDucENpee9k2C4s7Ovkwxw=
102
+			</data>
103
+			<key>hash2</key>
104
+			<data>
105
+			ZE5n3wyEphmq0NvXEk+TgX9+IH2WWIRdDoZj+8Zmu+E=
106
+			</data>
107
+		</dict>
108
+		<key>Headers/FlutterBinaryMessenger.h</key>
109
+		<dict>
110
+			<key>hash</key>
111
+			<data>
112
+			etrFpvIkvsKk1mlvYXGTBvgwzzE=
113
+			</data>
114
+			<key>hash2</key>
115
+			<data>
116
+			3SViazqKyfDFTyiD8JSsNncD/XtsdhhL1bSSPXnfIio=
117
+			</data>
118
+		</dict>
119
+		<key>Headers/FlutterCallbackCache.h</key>
120
+		<dict>
121
+			<key>hash</key>
122
+			<data>
123
+			lTUaQzdBsC/YVTRn48+amlv1iw4=
124
+			</data>
125
+			<key>hash2</key>
126
+			<data>
127
+			1dNDb41OVcGRhdnQfLHPfpfNUSb9f9Dmg57Bqo4gJv0=
128
+			</data>
129
+		</dict>
130
+		<key>Headers/FlutterChannels.h</key>
131
+		<dict>
132
+			<key>hash</key>
133
+			<data>
134
+			sHj+Q0IC9IHcDQFEUVW9NjjVwyo=
135
+			</data>
136
+			<key>hash2</key>
137
+			<data>
138
+			mMZONInvJM4ILgC2/EPW99HwFnhDr0K7Qti6QFfqno0=
139
+			</data>
140
+		</dict>
141
+		<key>Headers/FlutterCodecs.h</key>
142
+		<dict>
143
+			<key>hash</key>
144
+			<data>
145
+			O4jh4GUQe4YBT6YjVMXNbQMbalk=
146
+			</data>
147
+			<key>hash2</key>
148
+			<data>
149
+			yML7JaB7PwUwr6A9dDtlf6CCeMLjzd9Vja1r4Hkngvs=
150
+			</data>
151
+		</dict>
152
+		<key>Headers/FlutterDartProject.h</key>
153
+		<dict>
154
+			<key>hash</key>
155
+			<data>
156
+			KV/kYQEVGGR8R5A47Y8un4FVpyM=
157
+			</data>
158
+			<key>hash2</key>
159
+			<data>
160
+			oh1zoNJHh3WYpypd0pFtVfMe26Vi8LBCgWWufB9DCUc=
161
+			</data>
162
+		</dict>
163
+		<key>Headers/FlutterEngine.h</key>
164
+		<dict>
165
+			<key>hash</key>
166
+			<data>
167
+			iK8LlXFSIB+kRycoxv7/IGhwLtg=
168
+			</data>
169
+			<key>hash2</key>
170
+			<data>
171
+			OFsLCLyLBDzxeZL7XdnU+Nl6W36lSsKyIT3Z/l0ojrM=
172
+			</data>
173
+		</dict>
174
+		<key>Headers/FlutterEngineGroup.h</key>
175
+		<dict>
176
+			<key>hash</key>
177
+			<data>
178
+			nZcTgHGDD30QzPLlQfP8gP+S06o=
179
+			</data>
180
+			<key>hash2</key>
181
+			<data>
182
+			I+878Ez9ZpVdAR2GOzKJKjaZ5m807AeAF++2pSMQss4=
183
+			</data>
184
+		</dict>
185
+		<key>Headers/FlutterHeadlessDartRunner.h</key>
186
+		<dict>
187
+			<key>hash</key>
188
+			<data>
189
+			XnDDN+yQj6qLXTuhI0tgTMDbtbI=
190
+			</data>
191
+			<key>hash2</key>
192
+			<data>
193
+			sELlVsLARG1gBlPndKt24VxGVmBMgcXWeShflcVtZBQ=
194
+			</data>
195
+		</dict>
196
+		<key>Headers/FlutterMacros.h</key>
197
+		<dict>
198
+			<key>hash</key>
199
+			<data>
200
+			I9N4VAVhaoHjYjsRdmqSzEYJgN4=
201
+			</data>
202
+			<key>hash2</key>
203
+			<data>
204
+			7FrU4ZPRKob2HMUIRVBrtZ/QBRs2QL0JUN4oJmEaZs0=
205
+			</data>
206
+		</dict>
207
+		<key>Headers/FlutterPlatformViews.h</key>
208
+		<dict>
209
+			<key>hash</key>
210
+			<data>
211
+			JofRibXJB+HPxhe0SAphfoKFSTE=
212
+			</data>
213
+			<key>hash2</key>
214
+			<data>
215
+			c4TS8HplkxEc+09dBX5h+BZ+vkI9QJU/3ljud7WmdTM=
216
+			</data>
217
+		</dict>
218
+		<key>Headers/FlutterPlugin.h</key>
219
+		<dict>
220
+			<key>hash</key>
221
+			<data>
222
+			S/UeCZ6Y0yI99FfBwKgU9PS43Ew=
223
+			</data>
224
+			<key>hash2</key>
225
+			<data>
226
+			nGbu0SXJXnL90HHWeBDDdp4TMAX9aCxs6QUNHIebL8c=
227
+			</data>
228
+		</dict>
229
+		<key>Headers/FlutterPluginAppLifeCycleDelegate.h</key>
230
+		<dict>
231
+			<key>hash</key>
232
+			<data>
233
+			zAGEwFaURRrydTUwPCDUz7GJ6zM=
234
+			</data>
235
+			<key>hash2</key>
236
+			<data>
237
+			EtaABLEmwzrHo7IO2TwLjD27xRbd1xOeRM7NrlUhRm0=
238
+			</data>
239
+		</dict>
240
+		<key>Headers/FlutterTexture.h</key>
241
+		<dict>
242
+			<key>hash</key>
243
+			<data>
244
+			yBJovGku2dvjTDXp2km51wNc8yM=
245
+			</data>
246
+			<key>hash2</key>
247
+			<data>
248
+			VkMu2v4CZSBLhGWCJdxdAPzVFOgUvVyyxpdwmfAnWrY=
249
+			</data>
250
+		</dict>
251
+		<key>Headers/FlutterViewController.h</key>
252
+		<dict>
253
+			<key>hash</key>
254
+			<data>
255
+			Q3r7sTHoNIBT8yAHHi1CJOHApog=
256
+			</data>
257
+			<key>hash2</key>
258
+			<data>
259
+			TEZV6yflvdLz+8NOLbYifS8EwNzhPtmGY7HU0bFzNAk=
260
+			</data>
261
+		</dict>
262
+		<key>Modules/module.modulemap</key>
263
+		<dict>
264
+			<key>hash</key>
265
+			<data>
266
+			wJV5dCKEGl+FAtDc8wJJh/fvKXs=
267
+			</data>
268
+			<key>hash2</key>
269
+			<data>
270
+			0VjriRpZ7AZZaP/0mMAPMJPhi6LoMB4MhXzL5j24tGs=
271
+			</data>
272
+		</dict>
273
+		<key>icudtl.dat</key>
274
+		<dict>
275
+			<key>hash</key>
276
+			<data>
277
+			1QumeTTkdhWvmY7i40QoJewEapE=
278
+			</data>
279
+			<key>hash2</key>
280
+			<data>
281
+			Y7sS66zRuTsBvhoY8E7AmSrn+3DMMIOCUocmE2apBcw=
282
+			</data>
283
+		</dict>
284
+	</dict>
285
+	<key>rules</key>
286
+	<dict>
287
+		<key>^.*</key>
288
+		<true/>
289
+		<key>^.*\.lproj/</key>
290
+		<dict>
291
+			<key>optional</key>
292
+			<true/>
293
+			<key>weight</key>
294
+			<real>1000</real>
295
+		</dict>
296
+		<key>^.*\.lproj/locversion.plist$</key>
297
+		<dict>
298
+			<key>omit</key>
299
+			<true/>
300
+			<key>weight</key>
301
+			<real>1100</real>
302
+		</dict>
303
+		<key>^Base\.lproj/</key>
304
+		<dict>
305
+			<key>weight</key>
306
+			<real>1010</real>
307
+		</dict>
308
+		<key>^version.plist$</key>
309
+		<true/>
310
+	</dict>
311
+	<key>rules2</key>
312
+	<dict>
313
+		<key>.*\.dSYM($|/)</key>
314
+		<dict>
315
+			<key>weight</key>
316
+			<real>11</real>
317
+		</dict>
318
+		<key>^(.*/)?\.DS_Store$</key>
319
+		<dict>
320
+			<key>omit</key>
321
+			<true/>
322
+			<key>weight</key>
323
+			<real>2000</real>
324
+		</dict>
325
+		<key>^.*</key>
326
+		<true/>
327
+		<key>^.*\.lproj/</key>
328
+		<dict>
329
+			<key>optional</key>
330
+			<true/>
331
+			<key>weight</key>
332
+			<real>1000</real>
333
+		</dict>
334
+		<key>^.*\.lproj/locversion.plist$</key>
335
+		<dict>
336
+			<key>omit</key>
337
+			<true/>
338
+			<key>weight</key>
339
+			<real>1100</real>
340
+		</dict>
341
+		<key>^Base\.lproj/</key>
342
+		<dict>
343
+			<key>weight</key>
344
+			<real>1010</real>
345
+		</dict>
346
+		<key>^Info\.plist$</key>
347
+		<dict>
348
+			<key>omit</key>
349
+			<true/>
350
+			<key>weight</key>
351
+			<real>20</real>
352
+		</dict>
353
+		<key>^PkgInfo$</key>
354
+		<dict>
355
+			<key>omit</key>
356
+			<true/>
357
+			<key>weight</key>
358
+			<real>20</real>
359
+		</dict>
360
+		<key>^embedded\.provisionprofile$</key>
361
+		<dict>
362
+			<key>weight</key>
363
+			<real>20</real>
364
+		</dict>
365
+		<key>^version\.plist$</key>
366
+		<dict>
367
+			<key>weight</key>
368
+			<real>20</real>
369
+		</dict>
370
+	</dict>
371
+</dict>
372
+</plist>

BIN
ios/Flutter/Flutter.xcframework/ios-arm64_armv7/Flutter.framework/icudtl.dat View File


BIN
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter View File


+ 24
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/Flutter.h View File

@@ -0,0 +1,24 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTER_H_
6
+#define FLUTTER_FLUTTER_H_
7
+
8
+#import "FlutterAppDelegate.h"
9
+#import "FlutterBinaryMessenger.h"
10
+#import "FlutterCallbackCache.h"
11
+#import "FlutterChannels.h"
12
+#import "FlutterCodecs.h"
13
+#import "FlutterDartProject.h"
14
+#import "FlutterEngine.h"
15
+#import "FlutterEngineGroup.h"
16
+#import "FlutterHeadlessDartRunner.h"
17
+#import "FlutterMacros.h"
18
+#import "FlutterPlatformViews.h"
19
+#import "FlutterPlugin.h"
20
+#import "FlutterPluginAppLifeCycleDelegate.h"
21
+#import "FlutterTexture.h"
22
+#import "FlutterViewController.h"
23
+
24
+#endif  // FLUTTER_FLUTTER_H_

+ 34
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterAppDelegate.h View File

@@ -0,0 +1,34 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERAPPDELEGATE_H_
6
+#define FLUTTER_FLUTTERAPPDELEGATE_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+
10
+#import "FlutterMacros.h"
11
+#import "FlutterPlugin.h"
12
+
13
+/**
14
+ * `UIApplicationDelegate` subclass for simple apps that want default behavior.
15
+ *
16
+ * This class implements the following behaviors:
17
+ *   * Status bar touches are forwarded to the key window's root view
18
+ *     `FlutterViewController`, in order to trigger scroll to top.
19
+ *   * Keeps the Flutter connection open in debug mode when the phone screen
20
+ *     locks.
21
+ *
22
+ * App delegates for Flutter applications are *not* required to inherit from
23
+ * this class. Developers of custom app delegate classes should copy and paste
24
+ * code as necessary from FlutterAppDelegate.mm.
25
+ */
26
+FLUTTER_DARWIN_EXPORT
27
+@interface FlutterAppDelegate
28
+    : UIResponder <UIApplicationDelegate, FlutterPluginRegistry, FlutterAppLifeCycleProvider>
29
+
30
+@property(strong, nonatomic) UIWindow* window;
31
+
32
+@end
33
+
34
+#endif  // FLUTTER_FLUTTERDARTPROJECT_H_

+ 93
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterBinaryMessenger.h View File

@@ -0,0 +1,93 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERBINARYMESSENGER_H_
6
+#define FLUTTER_FLUTTERBINARYMESSENGER_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+NS_ASSUME_NONNULL_BEGIN
13
+/**
14
+ * A message reply callback.
15
+ *
16
+ * Used for submitting a binary reply back to a Flutter message sender. Also used
17
+ * in for handling a binary message reply received from Flutter.
18
+ *
19
+ * @param reply The reply.
20
+ */
21
+typedef void (^FlutterBinaryReply)(NSData* _Nullable reply);
22
+
23
+/**
24
+ * A strategy for handling incoming binary messages from Flutter and to send
25
+ * asynchronous replies back to Flutter.
26
+ *
27
+ * @param message The message.
28
+ * @param reply A callback for submitting an asynchronous reply to the sender.
29
+ */
30
+typedef void (^FlutterBinaryMessageHandler)(NSData* _Nullable message, FlutterBinaryReply reply);
31
+
32
+typedef int64_t FlutterBinaryMessengerConnection;
33
+
34
+/**
35
+ * A facility for communicating with the Flutter side using asynchronous message
36
+ * passing with binary messages.
37
+ *
38
+ * Implementated by:
39
+ * - `FlutterBasicMessageChannel`, which supports communication using structured
40
+ * messages.
41
+ * - `FlutterMethodChannel`, which supports communication using asynchronous
42
+ * method calls.
43
+ * - `FlutterEventChannel`, which supports commuication using event streams.
44
+ */
45
+FLUTTER_DARWIN_EXPORT
46
+@protocol FlutterBinaryMessenger <NSObject>
47
+/**
48
+ * Sends a binary message to the Flutter side on the specified channel, expecting
49
+ * no reply.
50
+ *
51
+ * @param channel The channel name.
52
+ * @param message The message.
53
+ */
54
+- (void)sendOnChannel:(NSString*)channel message:(NSData* _Nullable)message;
55
+
56
+/**
57
+ * Sends a binary message to the Flutter side on the specified channel, expecting
58
+ * an asynchronous reply.
59
+ *
60
+ * @param channel The channel name.
61
+ * @param message The message.
62
+ * @param callback A callback for receiving a reply.
63
+ */
64
+- (void)sendOnChannel:(NSString*)channel
65
+              message:(NSData* _Nullable)message
66
+          binaryReply:(FlutterBinaryReply _Nullable)callback;
67
+
68
+/**
69
+ * Registers a message handler for incoming binary messages from the Flutter side
70
+ * on the specified channel.
71
+ *
72
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
73
+ * existing handler.
74
+ *
75
+ * @param channel The channel name.
76
+ * @param handler The message handler.
77
+ * @return An identifier that represents the connection that was just created to the channel.
78
+ */
79
+- (FlutterBinaryMessengerConnection)setMessageHandlerOnChannel:(NSString*)channel
80
+                                          binaryMessageHandler:
81
+                                              (FlutterBinaryMessageHandler _Nullable)handler;
82
+
83
+/**
84
+ * Clears out a channel's message handler if that handler is still the one that
85
+ * was created as a result of
86
+ * `setMessageHandlerOnChannel:binaryMessageHandler:`.
87
+ *
88
+ * @param connection The result from `setMessageHandlerOnChannel:binaryMessageHandler:`.
89
+ */
90
+- (void)cleanUpConnection:(FlutterBinaryMessengerConnection)connection;
91
+@end
92
+NS_ASSUME_NONNULL_END
93
+#endif  // FLUTTER_FLUTTERBINARYMESSENGER_H_

+ 54
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterCallbackCache.h View File

@@ -0,0 +1,54 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERCALLBACKCACHE_H_
6
+#define FLUTTER_FLUTTERCALLBACKCACHE_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+/**
13
+ * An object containing the result of `FlutterCallbackCache`'s `lookupCallbackInformation`
14
+ * method.
15
+ */
16
+FLUTTER_DARWIN_EXPORT
17
+@interface FlutterCallbackInformation : NSObject
18
+/**
19
+ * The name of the callback.
20
+ */
21
+@property(copy) NSString* callbackName;
22
+/**
23
+ * The class name of the callback.
24
+ */
25
+@property(copy) NSString* callbackClassName;
26
+/**
27
+ * The library path of the callback.
28
+ */
29
+@property(copy) NSString* callbackLibraryPath;
30
+@end
31
+
32
+/**
33
+ * The cache containing callback information for spawning a
34
+ * `FlutterHeadlessDartRunner`.
35
+ */
36
+FLUTTER_DARWIN_EXPORT
37
+@interface FlutterCallbackCache : NSObject
38
+/**
39
+ * Returns the callback information for the given callback handle.
40
+ * This callback information can be used when spawning a
41
+ * `FlutterHeadlessDartRunner`.
42
+ *
43
+ * @param handle The handle for a callback, provided by the
44
+ *   Dart method `PluginUtilities.getCallbackHandle`.
45
+ * @return A `FlutterCallbackInformation` object which contains the name of the
46
+ *   callback, the name of the class in which the callback is defined, and the
47
+ *   path of the library which contains the callback. If the provided handle is
48
+ *   invalid, nil is returned.
49
+ */
50
++ (FlutterCallbackInformation*)lookupCallbackInformation:(int64_t)handle;
51
+
52
+@end
53
+
54
+#endif  // FLUTTER_FLUTTERCALLBACKCACHE_H_

+ 386
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterChannels.h View File

@@ -0,0 +1,386 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERCHANNELS_H_
6
+#define FLUTTER_FLUTTERCHANNELS_H_
7
+
8
+#import "FlutterBinaryMessenger.h"
9
+#import "FlutterCodecs.h"
10
+
11
+NS_ASSUME_NONNULL_BEGIN
12
+/**
13
+ * A message reply callback.
14
+ *
15
+ * Used for submitting a reply back to a Flutter message sender. Also used in
16
+ * the dual capacity for handling a message reply received from Flutter.
17
+ *
18
+ * @param reply The reply.
19
+ */
20
+typedef void (^FlutterReply)(id _Nullable reply);
21
+
22
+/**
23
+ * A strategy for handling incoming messages from Flutter and to send
24
+ * asynchronous replies back to Flutter.
25
+ *
26
+ * @param message The message.
27
+ * @param callback A callback for submitting a reply to the sender.
28
+ */
29
+typedef void (^FlutterMessageHandler)(id _Nullable message, FlutterReply callback);
30
+
31
+/**
32
+ * A channel for communicating with the Flutter side using basic, asynchronous
33
+ * message passing.
34
+ */
35
+FLUTTER_DARWIN_EXPORT
36
+@interface FlutterBasicMessageChannel : NSObject
37
+/**
38
+ * Creates a `FlutterBasicMessageChannel` with the specified name and binary
39
+ * messenger.
40
+ *
41
+ * The channel name logically identifies the channel; identically named channels
42
+ * interfere with each other's communication.
43
+ *
44
+ * The binary messenger is a facility for sending raw, binary messages to the
45
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
46
+ *
47
+ * The channel uses `FlutterStandardMessageCodec` to encode and decode messages.
48
+ *
49
+ * @param name The channel name.
50
+ * @param messenger The binary messenger.
51
+ */
52
++ (instancetype)messageChannelWithName:(NSString*)name
53
+                       binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
54
+
55
+/**
56
+ * Creates a `FlutterBasicMessageChannel` with the specified name, binary
57
+ * messenger, and message codec.
58
+ *
59
+ * The channel name logically identifies the channel; identically named channels
60
+ * interfere with each other's communication.
61
+ *
62
+ * The binary messenger is a facility for sending raw, binary messages to the
63
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
64
+ *
65
+ * @param name The channel name.
66
+ * @param messenger The binary messenger.
67
+ * @param codec The message codec.
68
+ */
69
++ (instancetype)messageChannelWithName:(NSString*)name
70
+                       binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
71
+                                 codec:(NSObject<FlutterMessageCodec>*)codec;
72
+
73
+/**
74
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
75
+ * messenger, and message codec.
76
+ *
77
+ * The channel name logically identifies the channel; identically named channels
78
+ * interfere with each other's communication.
79
+ *
80
+ * The binary messenger is a facility for sending raw, binary messages to the
81
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
82
+ *
83
+ * @param name The channel name.
84
+ * @param messenger The binary messenger.
85
+ * @param codec The message codec.
86
+ */
87
+- (instancetype)initWithName:(NSString*)name
88
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
89
+                       codec:(NSObject<FlutterMessageCodec>*)codec;
90
+
91
+/**
92
+ * Sends the specified message to the Flutter side, ignoring any reply.
93
+ *
94
+ * @param message The message. Must be supported by the codec of this
95
+ * channel.
96
+ */
97
+- (void)sendMessage:(id _Nullable)message;
98
+
99
+/**
100
+ * Sends the specified message to the Flutter side, expecting an asynchronous
101
+ * reply.
102
+ *
103
+ * @param message The message. Must be supported by the codec of this channel.
104
+ * @param callback A callback to be invoked with the message reply from Flutter.
105
+ */
106
+- (void)sendMessage:(id _Nullable)message reply:(FlutterReply _Nullable)callback;
107
+
108
+/**
109
+ * Registers a message handler with this channel.
110
+ *
111
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
112
+ * existing handler.
113
+ *
114
+ * @param handler The message handler.
115
+ */
116
+- (void)setMessageHandler:(FlutterMessageHandler _Nullable)handler;
117
+
118
+/**
119
+ * Adjusts the number of messages that will get buffered when sending messages to
120
+ * channels that aren't fully set up yet.  For example, the engine isn't running
121
+ * yet or the channel's message handler isn't set up on the Dart side yet.
122
+ */
123
+- (void)resizeChannelBuffer:(NSInteger)newSize;
124
+
125
+@end
126
+
127
+/**
128
+ * A method call result callback.
129
+ *
130
+ * Used for submitting a method call result back to a Flutter caller. Also used in
131
+ * the dual capacity for handling a method call result received from Flutter.
132
+ *
133
+ * @param result The result.
134
+ */
135
+typedef void (^FlutterResult)(id _Nullable result);
136
+
137
+/**
138
+ * A strategy for handling method calls.
139
+ *
140
+ * @param call The incoming method call.
141
+ * @param result A callback to asynchronously submit the result of the call.
142
+ *     Invoke the callback with a `FlutterError` to indicate that the call failed.
143
+ *     Invoke the callback with `FlutterMethodNotImplemented` to indicate that the
144
+ *     method was unknown. Any other values, including `nil`, are interpreted as
145
+ *     successful results.
146
+ */
147
+typedef void (^FlutterMethodCallHandler)(FlutterMethodCall* call, FlutterResult result);
148
+
149
+/**
150
+ * A constant used with `FlutterMethodCallHandler` to respond to the call of an
151
+ * unknown method.
152
+ */
153
+FLUTTER_DARWIN_EXPORT
154
+extern NSObject const* FlutterMethodNotImplemented;
155
+
156
+/**
157
+ * A channel for communicating with the Flutter side using invocation of
158
+ * asynchronous methods.
159
+ */
160
+FLUTTER_DARWIN_EXPORT
161
+@interface FlutterMethodChannel : NSObject
162
+/**
163
+ * Creates a `FlutterMethodChannel` with the specified name and binary messenger.
164
+ *
165
+ * The channel name logically identifies the channel; identically named channels
166
+ * interfere with each other's communication.
167
+ *
168
+ * The binary messenger is a facility for sending raw, binary messages to the
169
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
170
+ *
171
+ * The channel uses `FlutterStandardMethodCodec` to encode and decode method calls
172
+ * and result envelopes.
173
+ *
174
+ * @param name The channel name.
175
+ * @param messenger The binary messenger.
176
+ */
177
++ (instancetype)methodChannelWithName:(NSString*)name
178
+                      binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
179
+
180
+/**
181
+ * Creates a `FlutterMethodChannel` with the specified name, binary messenger, and
182
+ * method codec.
183
+ *
184
+ * The channel name logically identifies the channel; identically named channels
185
+ * interfere with each other's communication.
186
+ *
187
+ * The binary messenger is a facility for sending raw, binary messages to the
188
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
189
+ *
190
+ * @param name The channel name.
191
+ * @param messenger The binary messenger.
192
+ * @param codec The method codec.
193
+ */
194
++ (instancetype)methodChannelWithName:(NSString*)name
195
+                      binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
196
+                                codec:(NSObject<FlutterMethodCodec>*)codec;
197
+
198
+/**
199
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
200
+ * and method codec.
201
+ *
202
+ * The channel name logically identifies the channel; identically named channels
203
+ * interfere with each other's communication.
204
+ *
205
+ * The binary messenger is a facility for sending raw, binary messages to the
206
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
207
+ *
208
+ * @param name The channel name.
209
+ * @param messenger The binary messenger.
210
+ * @param codec The method codec.
211
+ */
212
+- (instancetype)initWithName:(NSString*)name
213
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
214
+                       codec:(NSObject<FlutterMethodCodec>*)codec;
215
+
216
+// clang-format off
217
+/**
218
+ * Invokes the specified Flutter method with the specified arguments, expecting
219
+ * no results.
220
+ *
221
+ * @see [MethodChannel.setMethodCallHandler](https://api.flutter.dev/flutter/services/MethodChannel/setMethodCallHandler.html)
222
+ *
223
+ * @param method The name of the method to invoke.
224
+ * @param arguments The arguments. Must be a value supported by the codec of this
225
+ *     channel.
226
+ */
227
+// clang-format on
228
+- (void)invokeMethod:(NSString*)method arguments:(id _Nullable)arguments;
229
+
230
+/**
231
+ * Invokes the specified Flutter method with the specified arguments, expecting
232
+ * an asynchronous result.
233
+ *
234
+ * @param method The name of the method to invoke.
235
+ * @param arguments The arguments. Must be a value supported by the codec of this
236
+ *     channel.
237
+ * @param callback A callback that will be invoked with the asynchronous result.
238
+ *     The result will be a `FlutterError` instance, if the method call resulted
239
+ *     in an error on the Flutter side. Will be `FlutterMethodNotImplemented`, if
240
+ *     the method called was not implemented on the Flutter side. Any other value,
241
+ *     including `nil`, should be interpreted as successful results.
242
+ */
243
+- (void)invokeMethod:(NSString*)method
244
+           arguments:(id _Nullable)arguments
245
+              result:(FlutterResult _Nullable)callback;
246
+/**
247
+ * Registers a handler for method calls from the Flutter side.
248
+ *
249
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
250
+ * existing handler.
251
+ *
252
+ * @param handler The method call handler.
253
+ */
254
+- (void)setMethodCallHandler:(FlutterMethodCallHandler _Nullable)handler;
255
+
256
+/**
257
+ * Adjusts the number of messages that will get buffered when sending messages to
258
+ * channels that aren't fully set up yet.  For example, the engine isn't running
259
+ * yet or the channel's message handler isn't set up on the Dart side yet.
260
+ */
261
+- (void)resizeChannelBuffer:(NSInteger)newSize;
262
+
263
+@end
264
+
265
+/**
266
+ * An event sink callback.
267
+ *
268
+ * @param event The event.
269
+ */
270
+typedef void (^FlutterEventSink)(id _Nullable event);
271
+
272
+/**
273
+ * A strategy for exposing an event stream to the Flutter side.
274
+ */
275
+FLUTTER_DARWIN_EXPORT
276
+@protocol FlutterStreamHandler
277
+/**
278
+ * Sets up an event stream and begin emitting events.
279
+ *
280
+ * Invoked when the first listener is registered with the Stream associated to
281
+ * this channel on the Flutter side.
282
+ *
283
+ * @param arguments Arguments for the stream.
284
+ * @param events A callback to asynchronously emit events. Invoke the
285
+ *     callback with a `FlutterError` to emit an error event. Invoke the
286
+ *     callback with `FlutterEndOfEventStream` to indicate that no more
287
+ *     events will be emitted. Any other value, including `nil` are emitted as
288
+ *     successful events.
289
+ * @return A FlutterError instance, if setup fails.
290
+ */
291
+- (FlutterError* _Nullable)onListenWithArguments:(id _Nullable)arguments
292
+                                       eventSink:(FlutterEventSink)events;
293
+
294
+/**
295
+ * Tears down an event stream.
296
+ *
297
+ * Invoked when the last listener is deregistered from the Stream associated to
298
+ * this channel on the Flutter side.
299
+ *
300
+ * The channel implementation may call this method with `nil` arguments
301
+ * to separate a pair of two consecutive set up requests. Such request pairs
302
+ * may occur during Flutter hot restart.
303
+ *
304
+ * @param arguments Arguments for the stream.
305
+ * @return A FlutterError instance, if teardown fails.
306
+ */
307
+- (FlutterError* _Nullable)onCancelWithArguments:(id _Nullable)arguments;
308
+@end
309
+
310
+/**
311
+ * A constant used with `FlutterEventChannel` to indicate end of stream.
312
+ */
313
+FLUTTER_DARWIN_EXPORT
314
+extern NSObject const* FlutterEndOfEventStream;
315
+
316
+/**
317
+ * A channel for communicating with the Flutter side using event streams.
318
+ */
319
+FLUTTER_DARWIN_EXPORT
320
+@interface FlutterEventChannel : NSObject
321
+/**
322
+ * Creates a `FlutterEventChannel` with the specified name and binary messenger.
323
+ *
324
+ * The channel name logically identifies the channel; identically named channels
325
+ * interfere with each other's communication.
326
+ *
327
+ * The binary messenger is a facility for sending raw, binary messages to the
328
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
329
+ *
330
+ * The channel uses `FlutterStandardMethodCodec` to decode stream setup and
331
+ * teardown requests, and to encode event envelopes.
332
+ *
333
+ * @param name The channel name.
334
+ * @param messenger The binary messenger.
335
+ */
336
++ (instancetype)eventChannelWithName:(NSString*)name
337
+                     binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
338
+
339
+/**
340
+ * Creates a `FlutterEventChannel` with the specified name, binary messenger,
341
+ * and method codec.
342
+ *
343
+ * The channel name logically identifies the channel; identically named channels
344
+ * interfere with each other's communication.
345
+ *
346
+ * The binary messenger is a facility for sending raw, binary messages to the
347
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
348
+ *
349
+ * @param name The channel name.
350
+ * @param messenger The binary messenger.
351
+ * @param codec The method codec.
352
+ */
353
++ (instancetype)eventChannelWithName:(NSString*)name
354
+                     binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
355
+                               codec:(NSObject<FlutterMethodCodec>*)codec;
356
+
357
+/**
358
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
359
+ * and method codec.
360
+ *
361
+ * The channel name logically identifies the channel; identically named channels
362
+ * interfere with each other's communication.
363
+ *
364
+ * The binary messenger is a facility for sending raw, binary messages to the
365
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
366
+ *
367
+ * @param name The channel name.
368
+ * @param messenger The binary messenger.
369
+ * @param codec The method codec.
370
+ */
371
+- (instancetype)initWithName:(NSString*)name
372
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
373
+                       codec:(NSObject<FlutterMethodCodec>*)codec;
374
+/**
375
+ * Registers a handler for stream setup requests from the Flutter side.
376
+ *
377
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
378
+ * existing handler.
379
+ *
380
+ * @param handler The stream handler.
381
+ */
382
+- (void)setStreamHandler:(NSObject<FlutterStreamHandler>* _Nullable)handler;
383
+@end
384
+NS_ASSUME_NONNULL_END
385
+
386
+#endif  // FLUTTER_FLUTTERCHANNELS_H_

+ 476
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterCodecs.h View File

@@ -0,0 +1,476 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERCODECS_H_
6
+#define FLUTTER_FLUTTERCODECS_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+NS_ASSUME_NONNULL_BEGIN
13
+
14
+/**
15
+ * A message encoding/decoding mechanism.
16
+ */
17
+FLUTTER_DARWIN_EXPORT
18
+@protocol FlutterMessageCodec
19
+/**
20
+ * Returns a shared instance of this `FlutterMessageCodec`.
21
+ */
22
++ (instancetype)sharedInstance;
23
+
24
+/**
25
+ * Encodes the specified message into binary.
26
+ *
27
+ * @param message The message.
28
+ * @return The binary encoding, or `nil`, if `message` was `nil`.
29
+ */
30
+- (NSData* _Nullable)encode:(id _Nullable)message;
31
+
32
+/**
33
+ * Decodes the specified message from binary.
34
+ *
35
+ * @param message The message.
36
+ * @return The decoded message, or `nil`, if `message` was `nil`.
37
+ */
38
+- (id _Nullable)decode:(NSData* _Nullable)message;
39
+@end
40
+
41
+/**
42
+ * A `FlutterMessageCodec` using unencoded binary messages, represented as
43
+ * `NSData` instances.
44
+ *
45
+ * This codec is guaranteed to be compatible with the corresponding
46
+ * [BinaryCodec](https://api.flutter.dev/flutter/services/BinaryCodec-class.html)
47
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
48
+ *
49
+ * On the Dart side, messages are represented using `ByteData`.
50
+ */
51
+FLUTTER_DARWIN_EXPORT
52
+@interface FlutterBinaryCodec : NSObject <FlutterMessageCodec>
53
+@end
54
+
55
+/**
56
+ * A `FlutterMessageCodec` using UTF-8 encoded `NSString` messages.
57
+ *
58
+ * This codec is guaranteed to be compatible with the corresponding
59
+ * [StringCodec](https://api.flutter.dev/flutter/services/StringCodec-class.html)
60
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
61
+ */
62
+FLUTTER_DARWIN_EXPORT
63
+@interface FlutterStringCodec : NSObject <FlutterMessageCodec>
64
+@end
65
+
66
+/**
67
+ * A `FlutterMessageCodec` using UTF-8 encoded JSON messages.
68
+ *
69
+ * This codec is guaranteed to be compatible with the corresponding
70
+ * [JSONMessageCodec](https://api.flutter.dev/flutter/services/JSONMessageCodec-class.html)
71
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
72
+ *
73
+ * Supports values accepted by `NSJSONSerialization` plus top-level
74
+ * `nil`, `NSNumber`, and `NSString`.
75
+ *
76
+ * On the Dart side, JSON messages are handled by the JSON facilities of the
77
+ * [`dart:convert`](https://api.dartlang.org/stable/dart-convert/JSON-constant.html)
78
+ * package.
79
+ */
80
+FLUTTER_DARWIN_EXPORT
81
+@interface FlutterJSONMessageCodec : NSObject <FlutterMessageCodec>
82
+@end
83
+
84
+/**
85
+ * A writer of the Flutter standard binary encoding.
86
+ *
87
+ * See `FlutterStandardMessageCodec` for details on the encoding.
88
+ *
89
+ * The encoding is extensible via subclasses overriding `writeValue`.
90
+ */
91
+FLUTTER_DARWIN_EXPORT
92
+@interface FlutterStandardWriter : NSObject
93
+/**
94
+ * Create a `FlutterStandardWriter` who will write to \p data.
95
+ */
96
+- (instancetype)initWithData:(NSMutableData*)data;
97
+/** Write a 8-bit byte. */
98
+- (void)writeByte:(UInt8)value;
99
+/** Write an array of \p bytes of size \p length. */
100
+- (void)writeBytes:(const void*)bytes length:(NSUInteger)length;
101
+/** Write an array of bytes contained in \p data. */
102
+- (void)writeData:(NSData*)data;
103
+/** Write 32-bit unsigned integer that represents a \p size of a collection. */
104
+- (void)writeSize:(UInt32)size;
105
+/** Write zero padding until data is aligned with \p alignment. */
106
+- (void)writeAlignment:(UInt8)alignment;
107
+/** Write a string with UTF-8 encoding. */
108
+- (void)writeUTF8:(NSString*)value;
109
+/** Introspects into an object and writes its representation.
110
+ *
111
+ * Supported Data Types:
112
+ *  - NSNull
113
+ *  - NSNumber
114
+ *  - NSString (as UTF-8)
115
+ *  - FlutterStandardTypedData
116
+ *  - NSArray of supported types
117
+ *  - NSDictionary of supporte types
118
+ *
119
+ * NSAsserts on failure.
120
+ */
121
+- (void)writeValue:(id)value;
122
+@end
123
+
124
+/**
125
+ * A reader of the Flutter standard binary encoding.
126
+ *
127
+ * See `FlutterStandardMessageCodec` for details on the encoding.
128
+ *
129
+ * The encoding is extensible via subclasses overriding `readValueOfType`.
130
+ */
131
+FLUTTER_DARWIN_EXPORT
132
+@interface FlutterStandardReader : NSObject
133
+/**
134
+ * Create a new `FlutterStandardReader` who reads from \p data.
135
+ */
136
+- (instancetype)initWithData:(NSData*)data;
137
+/** Returns YES when the reader hasn't reached the end of its data. */
138
+- (BOOL)hasMore;
139
+/** Reads a byte value and increments the position. */
140
+- (UInt8)readByte;
141
+/** Reads a sequence of byte values of \p length and increments the position. */
142
+- (void)readBytes:(void*)destination length:(NSUInteger)length;
143
+/** Reads a sequence of byte values of \p length and increments the position. */
144
+- (NSData*)readData:(NSUInteger)length;
145
+/** Reads a 32-bit unsigned integer representing a collection size and increments the position.*/
146
+- (UInt32)readSize;
147
+/** Advances the read position until it is aligned with \p alignment. */
148
+- (void)readAlignment:(UInt8)alignment;
149
+/** Read a null terminated string encoded with UTF-8/ */
150
+- (NSString*)readUTF8;
151
+/**
152
+ * Reads a byte for `FlutterStandardField` the decodes a value matching that type.
153
+ *
154
+ * See also: -[FlutterStandardWriter writeValue]
155
+ */
156
+- (nullable id)readValue;
157
+/**
158
+ * Decodes a value matching the \p type specified.
159
+ *
160
+ * See also:
161
+ *   - `FlutterStandardField`
162
+ *   - `-[FlutterStandardWriter writeValue]`
163
+ */
164
+- (nullable id)readValueOfType:(UInt8)type;
165
+@end
166
+
167
+/**
168
+ * A factory of compatible reader/writer instances using the Flutter standard
169
+ * binary encoding or extensions thereof.
170
+ */
171
+FLUTTER_DARWIN_EXPORT
172
+@interface FlutterStandardReaderWriter : NSObject
173
+/**
174
+ * Create a new `FlutterStandardWriter` for writing to \p data.
175
+ */
176
+- (FlutterStandardWriter*)writerWithData:(NSMutableData*)data;
177
+/**
178
+ * Create a new `FlutterStandardReader` for reading from \p data.
179
+ */
180
+- (FlutterStandardReader*)readerWithData:(NSData*)data;
181
+@end
182
+
183
+/**
184
+ * A `FlutterMessageCodec` using the Flutter standard binary encoding.
185
+ *
186
+ * This codec is guaranteed to be compatible with the corresponding
187
+ * [StandardMessageCodec](https://api.flutter.dev/flutter/services/StandardMessageCodec-class.html)
188
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
189
+ *
190
+ * Supported messages are acyclic values of these forms:
191
+ *
192
+ * - `nil` or `NSNull`
193
+ * - `NSNumber` (including their representation of Boolean values)
194
+ * - `NSString`
195
+ * - `FlutterStandardTypedData`
196
+ * - `NSArray` of supported values
197
+ * - `NSDictionary` with supported keys and values
198
+ *
199
+ * On the Dart side, these values are represented as follows:
200
+ *
201
+ * - `nil` or `NSNull`: null
202
+ * - `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
203
+ * - `NSString`: `String`
204
+ * - `FlutterStandardTypedData`: `Uint8List`, `Int32List`, `Int64List`, or `Float64List`
205
+ * - `NSArray`: `List`
206
+ * - `NSDictionary`: `Map`
207
+ */
208
+FLUTTER_DARWIN_EXPORT
209
+@interface FlutterStandardMessageCodec : NSObject <FlutterMessageCodec>
210
+/**
211
+ * Create a `FlutterStandardMessageCodec` who will read and write to \p readerWriter.
212
+ */
213
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
214
+@end
215
+
216
+/**
217
+ * Command object representing a method call on a `FlutterMethodChannel`.
218
+ */
219
+FLUTTER_DARWIN_EXPORT
220
+@interface FlutterMethodCall : NSObject
221
+/**
222
+ * Creates a method call for invoking the specified named method with the
223
+ * specified arguments.
224
+ *
225
+ * @param method the name of the method to call.
226
+ * @param arguments the arguments value.
227
+ */
228
++ (instancetype)methodCallWithMethodName:(NSString*)method arguments:(id _Nullable)arguments;
229
+
230
+/**
231
+ * The method name.
232
+ */
233
+@property(readonly, nonatomic) NSString* method;
234
+
235
+/**
236
+ * The arguments.
237
+ */
238
+@property(readonly, nonatomic, nullable) id arguments;
239
+@end
240
+
241
+/**
242
+ * Error object representing an unsuccessful outcome of invoking a method
243
+ * on a `FlutterMethodChannel`, or an error event on a `FlutterEventChannel`.
244
+ */
245
+FLUTTER_DARWIN_EXPORT
246
+@interface FlutterError : NSObject
247
+/**
248
+ * Creates a `FlutterError` with the specified error code, message, and details.
249
+ *
250
+ * @param code An error code string for programmatic use.
251
+ * @param message A human-readable error message.
252
+ * @param details Custom error details.
253
+ */
254
++ (instancetype)errorWithCode:(NSString*)code
255
+                      message:(NSString* _Nullable)message
256
+                      details:(id _Nullable)details;
257
+/**
258
+ The error code.
259
+ */
260
+@property(readonly, nonatomic) NSString* code;
261
+
262
+/**
263
+ The error message.
264
+ */
265
+@property(readonly, nonatomic, nullable) NSString* message;
266
+
267
+/**
268
+ The error details.
269
+ */
270
+@property(readonly, nonatomic, nullable) id details;
271
+@end
272
+
273
+/**
274
+ * Type of numeric data items encoded in a `FlutterStandardDataType`.
275
+ *
276
+ * - FlutterStandardDataTypeUInt8: plain bytes
277
+ * - FlutterStandardDataTypeInt32: 32-bit signed integers
278
+ * - FlutterStandardDataTypeInt64: 64-bit signed integers
279
+ * - FlutterStandardDataTypeFloat64: 64-bit floats
280
+ */
281
+typedef NS_ENUM(NSInteger, FlutterStandardDataType) {
282
+  FlutterStandardDataTypeUInt8,
283
+  FlutterStandardDataTypeInt32,
284
+  FlutterStandardDataTypeInt64,
285
+  FlutterStandardDataTypeFloat32,
286
+  FlutterStandardDataTypeFloat64,
287
+};
288
+
289
+/**
290
+ * A byte buffer holding `UInt8`, `SInt32`, `SInt64`, or `Float64` values, used
291
+ * with `FlutterStandardMessageCodec` and `FlutterStandardMethodCodec`.
292
+ *
293
+ * Two's complement encoding is used for signed integers. IEEE754
294
+ * double-precision representation is used for floats. The platform's native
295
+ * endianness is assumed.
296
+ */
297
+FLUTTER_DARWIN_EXPORT
298
+@interface FlutterStandardTypedData : NSObject
299
+/**
300
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
301
+ * as plain bytes.
302
+ *
303
+ * @param data the byte data.
304
+ */
305
++ (instancetype)typedDataWithBytes:(NSData*)data;
306
+
307
+/**
308
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
309
+ * as 32-bit signed integers.
310
+ *
311
+ * @param data the byte data. The length must be divisible by 4.
312
+ */
313
++ (instancetype)typedDataWithInt32:(NSData*)data;
314
+
315
+/**
316
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
317
+ * as 64-bit signed integers.
318
+ *
319
+ * @param data the byte data. The length must be divisible by 8.
320
+ */
321
++ (instancetype)typedDataWithInt64:(NSData*)data;
322
+
323
+/**
324
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
325
+ * as 32-bit floats.
326
+ *
327
+ * @param data the byte data. The length must be divisible by 8.
328
+ */
329
++ (instancetype)typedDataWithFloat32:(NSData*)data;
330
+
331
+/**
332
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
333
+ * as 64-bit floats.
334
+ *
335
+ * @param data the byte data. The length must be divisible by 8.
336
+ */
337
++ (instancetype)typedDataWithFloat64:(NSData*)data;
338
+
339
+/**
340
+ * The raw underlying data buffer.
341
+ */
342
+@property(readonly, nonatomic) NSData* data;
343
+
344
+/**
345
+ * The type of the encoded values.
346
+ */
347
+@property(readonly, nonatomic) FlutterStandardDataType type;
348
+
349
+/**
350
+ * The number of value items encoded.
351
+ */
352
+@property(readonly, nonatomic) UInt32 elementCount;
353
+
354
+/**
355
+ * The number of bytes used by the encoding of a single value item.
356
+ */
357
+@property(readonly, nonatomic) UInt8 elementSize;
358
+@end
359
+
360
+/**
361
+ * An arbitrarily large integer value, used with `FlutterStandardMessageCodec`
362
+ * and `FlutterStandardMethodCodec`.
363
+ */
364
+FLUTTER_DARWIN_EXPORT
365
+FLUTTER_UNAVAILABLE("Unavailable on 2018-08-31. Deprecated on 2018-01-09. "
366
+                    "FlutterStandardBigInteger was needed because the Dart 1.0 int type had no "
367
+                    "size limit. With Dart 2.0, the int type is a fixed-size, 64-bit signed "
368
+                    "integer. If you need to communicate larger integers, use NSString encoding "
369
+                    "instead.")
370
+@interface FlutterStandardBigInteger : NSObject
371
+@end
372
+
373
+/**
374
+ * A codec for method calls and enveloped results.
375
+ *
376
+ * Method calls are encoded as binary messages with enough structure that the
377
+ * codec can extract a method name `NSString` and an arguments `NSObject`,
378
+ * possibly `nil`. These data items are used to populate a `FlutterMethodCall`.
379
+ *
380
+ * Result envelopes are encoded as binary messages with enough structure that
381
+ * the codec can determine whether the result was successful or an error. In
382
+ * the former case, the codec can extract the result `NSObject`, possibly `nil`.
383
+ * In the latter case, the codec can extract an error code `NSString`, a
384
+ * human-readable `NSString` error message (possibly `nil`), and a custom
385
+ * error details `NSObject`, possibly `nil`. These data items are used to
386
+ * populate a `FlutterError`.
387
+ */
388
+FLUTTER_DARWIN_EXPORT
389
+@protocol FlutterMethodCodec
390
+/**
391
+ * Provides access to a shared instance this codec.
392
+ *
393
+ * @return The shared instance.
394
+ */
395
++ (instancetype)sharedInstance;
396
+
397
+/**
398
+ * Encodes the specified method call into binary.
399
+ *
400
+ * @param methodCall The method call. The arguments value
401
+ *   must be supported by this codec.
402
+ * @return The binary encoding.
403
+ */
404
+- (NSData*)encodeMethodCall:(FlutterMethodCall*)methodCall;
405
+
406
+/**
407
+ * Decodes the specified method call from binary.
408
+ *
409
+ * @param methodCall The method call to decode.
410
+ * @return The decoded method call.
411
+ */
412
+- (FlutterMethodCall*)decodeMethodCall:(NSData*)methodCall;
413
+
414
+/**
415
+ * Encodes the specified successful result into binary.
416
+ *
417
+ * @param result The result. Must be a value supported by this codec.
418
+ * @return The binary encoding.
419
+ */
420
+- (NSData*)encodeSuccessEnvelope:(id _Nullable)result;
421
+
422
+/**
423
+ * Encodes the specified error result into binary.
424
+ *
425
+ * @param error The error object. The error details value must be supported
426
+ *   by this codec.
427
+ * @return The binary encoding.
428
+ */
429
+- (NSData*)encodeErrorEnvelope:(FlutterError*)error;
430
+
431
+/**
432
+ * Deccodes the specified result envelope from binary.
433
+ *
434
+ * @param envelope The error object.
435
+ * @return The result value, if the envelope represented a successful result,
436
+ *   or a `FlutterError` instance, if not.
437
+ */
438
+- (id _Nullable)decodeEnvelope:(NSData*)envelope;
439
+@end
440
+
441
+/**
442
+ * A `FlutterMethodCodec` using UTF-8 encoded JSON method calls and result
443
+ * envelopes.
444
+ *
445
+ * This codec is guaranteed to be compatible with the corresponding
446
+ * [JSONMethodCodec](https://api.flutter.dev/flutter/services/JSONMethodCodec-class.html)
447
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
448
+ *
449
+ * Values supported as methods arguments and result payloads are
450
+ * those supported as top-level or leaf values by `FlutterJSONMessageCodec`.
451
+ */
452
+FLUTTER_DARWIN_EXPORT
453
+@interface FlutterJSONMethodCodec : NSObject <FlutterMethodCodec>
454
+@end
455
+
456
+/**
457
+ * A `FlutterMethodCodec` using the Flutter standard binary encoding.
458
+ *
459
+ * This codec is guaranteed to be compatible with the corresponding
460
+ * [StandardMethodCodec](https://api.flutter.dev/flutter/services/StandardMethodCodec-class.html)
461
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
462
+ *
463
+ * Values supported as method arguments and result payloads are those supported by
464
+ * `FlutterStandardMessageCodec`.
465
+ */
466
+FLUTTER_DARWIN_EXPORT
467
+@interface FlutterStandardMethodCodec : NSObject <FlutterMethodCodec>
468
+/**
469
+ * Create a `FlutterStandardMethodCodec` who will read and write to \p readerWriter.
470
+ */
471
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
472
+@end
473
+
474
+NS_ASSUME_NONNULL_END
475
+
476
+#endif  // FLUTTER_FLUTTERCODECS_H_

+ 84
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterDartProject.h View File

@@ -0,0 +1,84 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERDARTPROJECT_H_
6
+#define FLUTTER_FLUTTERDARTPROJECT_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterMacros.h"
11
+
12
+NS_ASSUME_NONNULL_BEGIN
13
+
14
+/**
15
+ * A set of Flutter and Dart assets used by a `FlutterEngine` to initialize execution.
16
+ */
17
+FLUTTER_DARWIN_EXPORT
18
+@interface FlutterDartProject : NSObject
19
+
20
+/**
21
+ * Initializes a Flutter Dart project from a bundle.
22
+ */
23
+- (instancetype)initWithPrecompiledDartBundle:(nullable NSBundle*)bundle NS_DESIGNATED_INITIALIZER;
24
+
25
+/**
26
+ * Unavailable - use `init` instead.
27
+ */
28
+- (instancetype)initFromDefaultSourceForConfiguration FLUTTER_UNAVAILABLE("Use -init instead.");
29
+
30
+/**
31
+ * Returns the file name for the given asset. If the bundle with the identifier
32
+ * "io.flutter.flutter.app" exists, it will try use that bundle; otherwise, it
33
+ * will use the main bundle.  To specify a different bundle, use
34
+ * `-lookupKeyForAsset:asset:fromBundle`.
35
+ *
36
+ * @param asset The name of the asset. The name can be hierarchical.
37
+ * @return the file name to be used for lookup in the main bundle.
38
+ */
39
++ (NSString*)lookupKeyForAsset:(NSString*)asset;
40
+
41
+/**
42
+ * Returns the file name for the given asset.
43
+ * The returned file name can be used to access the asset in the supplied bundle.
44
+ *
45
+ * @param asset The name of the asset. The name can be hierarchical.
46
+ * @param bundle The `NSBundle` to use for looking up the asset.
47
+ * @return the file name to be used for lookup in the main bundle.
48
+ */
49
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromBundle:(nullable NSBundle*)bundle;
50
+
51
+/**
52
+ * Returns the file name for the given asset which originates from the specified package.
53
+ * The returned file name can be used to access the asset in the application's main bundle.
54
+ *
55
+ * @param asset The name of the asset. The name can be hierarchical.
56
+ * @param package The name of the package from which the asset originates.
57
+ * @return the file name to be used for lookup in the main bundle.
58
+ */
59
++ (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
60
+
61
+/**
62
+ * Returns the file name for the given asset which originates from the specified package.
63
+ * The returned file name can be used to access the asset in the specified bundle.
64
+ *
65
+ * @param asset The name of the asset. The name can be hierarchical.
66
+ * @param package The name of the package from which the asset originates.
67
+ * @param bundle The bundle to use when doing the lookup.
68
+ * @return the file name to be used for lookup in the main bundle.
69
+ */
70
++ (NSString*)lookupKeyForAsset:(NSString*)asset
71
+                   fromPackage:(NSString*)package
72
+                    fromBundle:(nullable NSBundle*)bundle;
73
+
74
+/**
75
+ * Returns the default identifier for the bundle where we expect to find the Flutter Dart
76
+ * application.
77
+ */
78
++ (NSString*)defaultBundleIdentifier;
79
+
80
+@end
81
+
82
+NS_ASSUME_NONNULL_END
83
+
84
+#endif  // FLUTTER_FLUTTERDARTPROJECT_H_

+ 442
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterEngine.h View File

@@ -0,0 +1,442 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERENGINE_H_
6
+#define FLUTTER_FLUTTERENGINE_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+#import <UIKit/UIKit.h>
10
+
11
+#import "FlutterBinaryMessenger.h"
12
+#import "FlutterDartProject.h"
13
+#import "FlutterMacros.h"
14
+#import "FlutterPlugin.h"
15
+#import "FlutterTexture.h"
16
+
17
+@class FlutterViewController;
18
+
19
+NS_ASSUME_NONNULL_BEGIN
20
+
21
+/**
22
+ * The dart entrypoint that is associated with `main()`.  This is to be used as an argument to the
23
+ * `runWithEntrypoint*` methods.
24
+ */
25
+extern NSString* const FlutterDefaultDartEntrypoint;
26
+
27
+/**
28
+ * The default Flutter initial route ("/").
29
+ */
30
+extern NSString* const FlutterDefaultInitialRoute;
31
+
32
+/**
33
+ * The FlutterEngine class coordinates a single instance of execution for a
34
+ * `FlutterDartProject`.  It may have zero or one `FlutterViewController` at a
35
+ * time, which can be specified via `-setViewController:`.
36
+ * `FlutterViewController`'s `initWithEngine` initializer will automatically call
37
+ * `-setViewController:` for itself.
38
+ *
39
+ * A FlutterEngine can be created independently of a `FlutterViewController` for
40
+ * headless execution.  It can also persist across the lifespan of multiple
41
+ * `FlutterViewController` instances to maintain state and/or asynchronous tasks
42
+ * (such as downloading a large file).
43
+ *
44
+ * A FlutterEngine can also be used to prewarm the Dart execution environment and reduce the
45
+ * latency of showing the Flutter screen when a `FlutterViewController` is created and presented.
46
+ * See http://flutter.dev/docs/development/add-to-app/performance for more details on loading
47
+ * performance.
48
+ *
49
+ * Alternatively, you can simply create a new `FlutterViewController` with only a
50
+ * `FlutterDartProject`. That `FlutterViewController` will internally manage its
51
+ * own instance of a FlutterEngine, but will not guarantee survival of the engine
52
+ * beyond the life of the ViewController.
53
+ *
54
+ * A newly initialized FlutterEngine will not actually run a Dart Isolate until
55
+ * either `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is invoked.
56
+ * One of these methods must be invoked before calling `-setViewController:`.
57
+ */
58
+FLUTTER_DARWIN_EXPORT
59
+@interface FlutterEngine : NSObject <FlutterTextureRegistry, FlutterPluginRegistry>
60
+
61
+/**
62
+ * Default initializer for a FlutterEngine.
63
+ *
64
+ * Threads created by this FlutterEngine will appear as "FlutterEngine #" in
65
+ * Instruments. The prefix can be customized using `initWithName`.
66
+ *
67
+ * The engine will execute the project located in the bundle with the identifier
68
+ * "io.flutter.flutter.app" (the default for Flutter projects).
69
+ *
70
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
71
+ * `-runWithEntrypoint:libraryURI:` is called.
72
+ *
73
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
74
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
75
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
76
+ */
77
+- (instancetype)init;
78
+
79
+/**
80
+ * Initialize this FlutterEngine.
81
+ *
82
+ * The engine will execute the project located in the bundle with the identifier
83
+ * "io.flutter.flutter.app" (the default for Flutter projects).
84
+ *
85
+ * A newly initialized engine will not run until either `-runWithEntrypoint:` or
86
+ * `-runWithEntrypoint:libraryURI:` is called.
87
+ *
88
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
89
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
90
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
91
+ *
92
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
93
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
94
+ *   the threads used by this FlutterEngine.
95
+ */
96
+- (instancetype)initWithName:(NSString*)labelPrefix;
97
+
98
+/**
99
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
100
+ *
101
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
102
+ * the project in a default location (the flutter_assets folder in the iOS application
103
+ * bundle).
104
+ *
105
+ * A newly initialized engine will not run the `FlutterDartProject` until either
106
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
107
+ *
108
+ * FlutterEngine created with this method will have allowHeadlessExecution set to `YES`.
109
+ * This means that the engine will continue to run regardless of whether a `FlutterViewController`
110
+ * is attached to it or not, until `-destroyContext:` is called or the process finishes.
111
+ *
112
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
113
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
114
+ *   the threads used by this FlutterEngine.
115
+ * @param project The `FlutterDartProject` to run.
116
+ */
117
+- (instancetype)initWithName:(NSString*)labelPrefix project:(nullable FlutterDartProject*)project;
118
+
119
+/**
120
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
121
+ *
122
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
123
+ * the project in a default location (the flutter_assets folder in the iOS application
124
+ * bundle).
125
+ *
126
+ * A newly initialized engine will not run the `FlutterDartProject` until either
127
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
128
+ *
129
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
130
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
131
+ *   the threads used by this FlutterEngine.
132
+ * @param project The `FlutterDartProject` to run.
133
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
134
+ *   running after passing a nil `FlutterViewController` to `-setViewController:`.
135
+ */
136
+- (instancetype)initWithName:(NSString*)labelPrefix
137
+                     project:(nullable FlutterDartProject*)project
138
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution;
139
+
140
+/**
141
+ * Initialize this FlutterEngine with a `FlutterDartProject`.
142
+ *
143
+ * If the FlutterDartProject is not specified, the FlutterEngine will attempt to locate
144
+ * the project in a default location (the flutter_assets folder in the iOS application
145
+ * bundle).
146
+ *
147
+ * A newly initialized engine will not run the `FlutterDartProject` until either
148
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI:` is called.
149
+ *
150
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
151
+ *   be unique across FlutterEngine instances, and is used in instrumentation to label
152
+ *   the threads used by this FlutterEngine.
153
+ * @param project The `FlutterDartProject` to run.
154
+ * @param allowHeadlessExecution Whether or not to allow this instance to continue
155
+ *   running after passing a nil `FlutterViewController` to `-setViewController:`.
156
+ * @param restorationEnabled Whether state restoration is enabled. When true, the framework will
157
+ *   wait for the attached view controller to provide restoration data.
158
+ */
159
+- (instancetype)initWithName:(NSString*)labelPrefix
160
+                     project:(nullable FlutterDartProject*)project
161
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution
162
+          restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
163
+
164
+/**
165
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
166
+ * contains `main()`), using `main()` as the entrypoint (the default for Flutter projects),
167
+ * and using "/" (the default route) as the initial route.
168
+ *
169
+ * The first call to this method will create a new Isolate. Subsequent calls will return
170
+ * immediately and have no effect.
171
+ *
172
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
173
+ */
174
+- (BOOL)run;
175
+
176
+/**
177
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
178
+ * contains `main()`), using "/" (the default route) as the initial route.
179
+ *
180
+ * The first call to this method will create a new Isolate. Subsequent calls will return
181
+ * immediately and have no effect.
182
+ *
183
+ * @param entrypoint The name of a top-level function from the same Dart
184
+ *   library that contains the app's main() function.  If this is FlutterDefaultDartEntrypoint (or
185
+ *   nil) it will default to `main()`.  If it is not the app's main() function, that function must
186
+ *   be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
187
+ *   compiler.
188
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
189
+ */
190
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;
191
+
192
+/**
193
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
194
+ * contains `main()`).
195
+ *
196
+ * The first call to this method will create a new Isolate. Subsequent calls will return
197
+ * immediately and have no effect.
198
+ *
199
+ * @param entrypoint The name of a top-level function from the same Dart
200
+ *   library that contains the app's main() function.  If this is FlutterDefaultDartEntrypoint (or
201
+ *   nil), it will default to `main()`.  If it is not the app's main() function, that function must
202
+ *   be decorated with `@pragma(vm:entry-point)` to ensure the method is not tree-shaken by the Dart
203
+ *   compiler.
204
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
205
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
206
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
207
+ */
208
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
209
+             initialRoute:(nullable NSString*)initialRoute;
210
+
211
+/**
212
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
213
+ * which may not be the same as the library containing the Dart program's `main()` function.
214
+ *
215
+ * The first call to this method will create a new Isolate. Subsequent calls will return
216
+ * immediately and have no effect.
217
+ *
218
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
219
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
220
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
221
+ *   method is not tree-shaken by the Dart compiler.
222
+ * @param uri The URI of the Dart library which contains the entrypoint method.  IF nil,
223
+ *   this will default to the same library as the `main()` function in the Dart program.
224
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
225
+ */
226
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint libraryURI:(nullable NSString*)uri;
227
+
228
+/**
229
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
230
+ * which may not be the same as the library containing the Dart program's `main()` function.
231
+ *
232
+ * The first call to this method will create a new Isolate. Subsequent calls will return
233
+ * immediately and have no effect.
234
+ *
235
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
236
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
237
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
238
+ *   method is not tree-shaken by the Dart compiler.
239
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
240
+ *   this will default to the same library as the `main()` function in the Dart program.
241
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
242
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
243
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
244
+ */
245
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
246
+               libraryURI:(nullable NSString*)libraryURI
247
+             initialRoute:(nullable NSString*)initialRoute;
248
+
249
+/**
250
+ * Runs a Dart program on an Isolate using the specified entrypoint and Dart library,
251
+ * which may not be the same as the library containing the Dart program's `main()` function.
252
+ *
253
+ * The first call to this method will create a new Isolate. Subsequent calls will return
254
+ * immediately and have no effect.
255
+ *
256
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
257
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
258
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
259
+ *   method is not tree-shaken by the Dart compiler.
260
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
261
+ *   this will default to the same library as the `main()` function in the Dart program.
262
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
263
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
264
+ * @param entrypointArgs Arguments passed as a list of string to Dart's entrypoint function.
265
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
266
+ */
267
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint
268
+               libraryURI:(nullable NSString*)libraryURI
269
+             initialRoute:(nullable NSString*)initialRoute
270
+           entrypointArgs:(nullable NSArray<NSString*>*)entrypointArgs;
271
+
272
+/**
273
+ * Destroy running context for an engine.
274
+ *
275
+ * This method can be used to force the FlutterEngine object to release all resources.
276
+ * After sending this message, the object will be in an unusable state until it is deallocated.
277
+ * Accessing properties or sending messages to it will result in undefined behavior or runtime
278
+ * errors.
279
+ */
280
+- (void)destroyContext;
281
+
282
+/**
283
+ * Ensures that Flutter will generate a semantics tree.
284
+ *
285
+ * This is enabled by default if certain accessibility services are turned on by
286
+ * the user, or when using a Simulator. This method allows a user to turn
287
+ * semantics on when they would not ordinarily be generated and the performance
288
+ * overhead is not a concern, e.g. for UI testing. Note that semantics should
289
+ * never be programmatically turned off, as it would potentially disable
290
+ * accessibility services an end user has requested.
291
+ *
292
+ * This method must only be called after launching the engine via
293
+ * `-runWithEntrypoint:` or `-runWithEntryPoint:libraryURI`.
294
+ *
295
+ * Although this method returns synchronously, it does not guarantee that a
296
+ * semantics tree is actually available when the method returns. It
297
+ * synchronously ensures that the next frame the Flutter framework creates will
298
+ * have a semantics tree.
299
+ *
300
+ * You can subscribe to semantics updates via `NSNotificationCenter` by adding
301
+ * an observer for the name `FlutterSemanticsUpdateNotification`.  The `object`
302
+ * parameter will be the `FlutterViewController` associated with the semantics
303
+ * update.  This will asynchronously fire after a semantics tree has actually
304
+ * built (which may be some time after the frame has been rendered).
305
+ */
306
+- (void)ensureSemanticsEnabled;
307
+
308
+/**
309
+ * Sets the `FlutterViewController` for this instance.  The FlutterEngine must be
310
+ * running (e.g. a successful call to `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI`)
311
+ * before calling this method. Callers may pass nil to remove the viewController
312
+ * and have the engine run headless in the current process.
313
+ *
314
+ * A FlutterEngine can only have one `FlutterViewController` at a time. If there is
315
+ * already a `FlutterViewController` associated with this instance, this method will replace
316
+ * the engine's current viewController with the newly specified one.
317
+ *
318
+ * Setting the viewController will signal the engine to start animations and drawing, and unsetting
319
+ * it will signal the engine to stop animations and drawing.  However, neither will impact the state
320
+ * of the Dart program's execution.
321
+ */
322
+@property(nonatomic, weak) FlutterViewController* viewController;
323
+
324
+/**
325
+ * The `FlutterMethodChannel` used for localization related platform messages, such as
326
+ * setting the locale.
327
+ *
328
+ * Can be nil after `destroyContext` is called.
329
+ */
330
+@property(nonatomic, readonly, nullable) FlutterMethodChannel* localizationChannel;
331
+/**
332
+ * The `FlutterMethodChannel` used for navigation related platform messages.
333
+ *
334
+ * Can be nil after `destroyContext` is called.
335
+ *
336
+ * @see [Navigation
337
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/navigation-constant.html)
338
+ * @see [Navigator Widget](https://api.flutter.dev/flutter/widgets/Navigator-class.html)
339
+ */
340
+@property(nonatomic, readonly) FlutterMethodChannel* navigationChannel;
341
+
342
+/**
343
+ * The `FlutterMethodChannel` used for restoration related platform messages.
344
+ *
345
+ * Can be nil after `destroyContext` is called.
346
+ *
347
+ * @see [Restoration
348
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/restoration-constant.html)
349
+ */
350
+@property(nonatomic, readonly) FlutterMethodChannel* restorationChannel;
351
+
352
+/**
353
+ * The `FlutterMethodChannel` used for core platform messages, such as
354
+ * information about the screen orientation.
355
+ *
356
+ * Can be nil after `destroyContext` is called.
357
+ */
358
+@property(nonatomic, readonly) FlutterMethodChannel* platformChannel;
359
+
360
+/**
361
+ * The `FlutterMethodChannel` used to communicate text input events to the
362
+ * Dart Isolate.
363
+ *
364
+ * Can be nil after `destroyContext` is called.
365
+ *
366
+ * @see [Text Input
367
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/textInput-constant.html)
368
+ */
369
+@property(nonatomic, readonly) FlutterMethodChannel* textInputChannel;
370
+
371
+/**
372
+ * The `FlutterBasicMessageChannel` used to communicate app lifecycle events
373
+ * to the Dart Isolate.
374
+ *
375
+ * Can be nil after `destroyContext` is called.
376
+ *
377
+ * @see [Lifecycle
378
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/lifecycle-constant.html)
379
+ */
380
+@property(nonatomic, readonly) FlutterBasicMessageChannel* lifecycleChannel;
381
+
382
+/**
383
+ * The `FlutterBasicMessageChannel` used for communicating system events, such as
384
+ * memory pressure events.
385
+ *
386
+ * Can be nil after `destroyContext` is called.
387
+ *
388
+ * @see [System
389
+ * Channel](https://api.flutter.dev/flutter/services/SystemChannels/system-constant.html)
390
+ */
391
+@property(nonatomic, readonly) FlutterBasicMessageChannel* systemChannel;
392
+
393
+/**
394
+ * The `FlutterBasicMessageChannel` used for communicating user settings such as
395
+ * clock format and text scale.
396
+ *
397
+ * Can be nil after `destroyContext` is called.
398
+ */
399
+@property(nonatomic, readonly) FlutterBasicMessageChannel* settingsChannel;
400
+
401
+/**
402
+ * The `FlutterBasicMessageChannel` used for communicating key events
403
+ * from physical keyboards
404
+ *
405
+ * Can be nil after `destroyContext` is called.
406
+ */
407
+@property(nonatomic, readonly) FlutterBasicMessageChannel* keyEventChannel;
408
+
409
+/**
410
+ * The `NSURL` of the observatory for the service isolate.
411
+ *
412
+ * This is only set in debug and profile runtime modes, and only after the
413
+ * observatory service is ready. In release mode or before the observatory has
414
+ * started, it returns `nil`.
415
+ */
416
+@property(nonatomic, readonly, nullable) NSURL* observatoryUrl;
417
+
418
+/**
419
+ * The `FlutterBinaryMessenger` associated with this FlutterEngine (used for communicating with
420
+ * channels).
421
+ */
422
+@property(nonatomic, readonly) NSObject<FlutterBinaryMessenger>* binaryMessenger;
423
+
424
+/**
425
+ * The UI Isolate ID of the engine.
426
+ *
427
+ * This property will be nil if the engine is not running.
428
+ */
429
+@property(nonatomic, readonly, copy, nullable) NSString* isolateId;
430
+
431
+/**
432
+ * Whether or not GPU calls are allowed.
433
+ *
434
+ * Typically this is set when the app is backgrounded and foregrounded.
435
+ */
436
+@property(nonatomic, assign) BOOL isGpuDisabled;
437
+
438
+@end
439
+
440
+NS_ASSUME_NONNULL_END
441
+
442
+#endif  // FLUTTER_FLUTTERENGINE_H_

+ 110
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterEngineGroup.h View File

@@ -0,0 +1,110 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#import <Foundation/Foundation.h>
6
+
7
+#import "FlutterEngine.h"
8
+
9
+NS_ASSUME_NONNULL_BEGIN
10
+
11
+/** Options that control how a FlutterEngine should be created. */
12
+FLUTTER_DARWIN_EXPORT
13
+@interface FlutterEngineGroupOptions : NSObject
14
+
15
+/**
16
+ * The name of a top-level function from a Dart library.  If this is FlutterDefaultDartEntrypoint
17
+ * (or nil); this will default to `main()`.  If it is not the app's main() function, that function
18
+ * must be decorated with `@pragma(vm:entry-point)` to ensure themethod is not tree-shaken by the
19
+ * Dart compiler.
20
+ */
21
+@property(nonatomic, copy, nullable) NSString* entrypoint;
22
+
23
+/**
24
+ * The URI of the Dart library which contains the entrypoint method.  If nil, this will default to
25
+ * the same library as the `main()` function in the Dart program.
26
+ */
27
+@property(nonatomic, copy, nullable) NSString* libraryURI;
28
+
29
+/**
30
+ * The name of the initial Flutter `Navigator` `Route` to load. If this is
31
+ * FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
32
+ */
33
+@property(nonatomic, copy, nullable) NSString* initialRoute;
34
+
35
+/**
36
+ * Arguments passed as a list of string to Dart's entrypoint function.
37
+ */
38
+@property(nonatomic, retain, nullable) NSArray<NSString*>* entrypointArgs;
39
+@end
40
+
41
+/**
42
+ * Represents a collection of FlutterEngines who share resources which allows
43
+ * them to be created with less time const and occupy less memory than just
44
+ * creating multiple FlutterEngines.
45
+ *
46
+ * Deleting a FlutterEngineGroup doesn't invalidate existing FlutterEngines, but
47
+ * it eliminates the possibility to create more FlutterEngines in that group.
48
+ *
49
+ * @warning This class is a work-in-progress and may change.
50
+ * @see https://github.com/flutter/flutter/issues/72009
51
+ */
52
+FLUTTER_DARWIN_EXPORT
53
+@interface FlutterEngineGroup : NSObject
54
+- (instancetype)init NS_UNAVAILABLE;
55
+
56
+/**
57
+ * Initialize a new FlutterEngineGroup.
58
+ *
59
+ * @param name The name that will present in the threads shared across the
60
+ * engines in this group.
61
+ * @param project The `FlutterDartProject` that all FlutterEngines in this group
62
+ * will be executing.
63
+ */
64
+- (instancetype)initWithName:(NSString*)name
65
+                     project:(nullable FlutterDartProject*)project NS_DESIGNATED_INITIALIZER;
66
+
67
+/**
68
+ * Creates a running `FlutterEngine` that shares components with this group.
69
+ *
70
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
71
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
72
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
73
+ *   method is not tree-shaken by the Dart compiler.
74
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
75
+ *   this will default to the same library as the `main()` function in the Dart program.
76
+ *
77
+ * @see FlutterEngineGroup
78
+ */
79
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
80
+                                libraryURI:(nullable NSString*)libraryURI;
81
+
82
+/**
83
+ * Creates a running `FlutterEngine` that shares components with this group.
84
+ *
85
+ * @param entrypoint The name of a top-level function from a Dart library.  If this is
86
+ *   FlutterDefaultDartEntrypoint (or nil); this will default to `main()`.  If it is not the app's
87
+ *   main() function, that function must be decorated with `@pragma(vm:entry-point)` to ensure the
88
+ *   method is not tree-shaken by the Dart compiler.
89
+ * @param libraryURI The URI of the Dart library which contains the entrypoint method.  IF nil,
90
+ *   this will default to the same library as the `main()` function in the Dart program.
91
+ * @param initialRoute The name of the initial Flutter `Navigator` `Route` to load. If this is
92
+ *   FlutterDefaultInitialRoute (or nil), it will default to the "/" route.
93
+ *
94
+ * @see FlutterEngineGroup
95
+ */
96
+- (FlutterEngine*)makeEngineWithEntrypoint:(nullable NSString*)entrypoint
97
+                                libraryURI:(nullable NSString*)libraryURI
98
+                              initialRoute:(nullable NSString*)initialRoute;
99
+
100
+/**
101
+ * Creates a running `FlutterEngine` that shares components with this group.
102
+ *
103
+ * @param options Options that control how a FlutterEngine should be created.
104
+ *
105
+ * @see FlutterEngineGroupOptions
106
+ */
107
+- (FlutterEngine*)makeEngineWithOptions:(nullable FlutterEngineGroupOptions*)options;
108
+@end
109
+
110
+NS_ASSUME_NONNULL_END

+ 97
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterHeadlessDartRunner.h View File

@@ -0,0 +1,97 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
6
+#define FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
7
+
8
+#import <Foundation/Foundation.h>
9
+
10
+#import "FlutterBinaryMessenger.h"
11
+#import "FlutterDartProject.h"
12
+#import "FlutterEngine.h"
13
+#import "FlutterMacros.h"
14
+
15
+/**
16
+ * A callback for when FlutterHeadlessDartRunner has attempted to start a Dart
17
+ * Isolate in the background.
18
+ *
19
+ * @param success YES if the Isolate was started and run successfully, NO
20
+ *   otherwise.
21
+ */
22
+typedef void (^FlutterHeadlessDartRunnerCallback)(BOOL success);
23
+
24
+/**
25
+ * The deprecated FlutterHeadlessDartRunner runs Flutter Dart code with a null rasterizer,
26
+ * and no native drawing surface. It is appropriate for use in running Dart
27
+ * code e.g. in the background from a plugin.
28
+ *
29
+ * Most callers should prefer using `FlutterEngine` directly; this interface exists
30
+ * for legacy support.
31
+ */
32
+FLUTTER_DARWIN_EXPORT
33
+FLUTTER_DEPRECATED("FlutterEngine should be used rather than FlutterHeadlessDartRunner")
34
+@interface FlutterHeadlessDartRunner : FlutterEngine
35
+
36
+/**
37
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
38
+ *
39
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
40
+ * the project in a default location.
41
+ *
42
+ * A newly initialized engine will not run the `FlutterDartProject` until either
43
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
44
+ *
45
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
46
+ * be unique across FlutterEngine instances
47
+ * @param projectOrNil The `FlutterDartProject` to run.
48
+ */
49
+- (instancetype)initWithName:(NSString*)labelPrefix project:(FlutterDartProject*)projectOrNil;
50
+
51
+/**
52
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
53
+ *
54
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
55
+ * the project in a default location.
56
+ *
57
+ * A newly initialized engine will not run the `FlutterDartProject` until either
58
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
59
+ *
60
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
61
+ * be unique across FlutterEngine instances
62
+ * @param projectOrNil The `FlutterDartProject` to run.
63
+ * @param allowHeadlessExecution Must be set to `YES`.
64
+ */
65
+- (instancetype)initWithName:(NSString*)labelPrefix
66
+                     project:(FlutterDartProject*)projectOrNil
67
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution;
68
+
69
+/**
70
+ * Initialize this FlutterHeadlessDartRunner with a `FlutterDartProject`.
71
+ *
72
+ * If the FlutterDartProject is not specified, the FlutterHeadlessDartRunner will attempt to locate
73
+ * the project in a default location.
74
+ *
75
+ * A newly initialized engine will not run the `FlutterDartProject` until either
76
+ * `-runWithEntrypoint:` or `-runWithEntrypoint:libraryURI` is called.
77
+ *
78
+ * @param labelPrefix The label prefix used to identify threads for this instance. Should
79
+ * be unique across FlutterEngine instances
80
+ * @param projectOrNil The `FlutterDartProject` to run.
81
+ * @param allowHeadlessExecution Must be set to `YES`.
82
+ * @param restorationEnabled Must be set to `NO`.
83
+ */
84
+- (instancetype)initWithName:(NSString*)labelPrefix
85
+                     project:(FlutterDartProject*)projectOrNil
86
+      allowHeadlessExecution:(BOOL)allowHeadlessExecution
87
+          restorationEnabled:(BOOL)restorationEnabled NS_DESIGNATED_INITIALIZER;
88
+
89
+/**
90
+ * Not recommended for use - will initialize with a default label ("io.flutter.headless")
91
+ * and the default FlutterDartProject.
92
+ */
93
+- (instancetype)init;
94
+
95
+@end
96
+
97
+#endif  // FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_

+ 48
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterMacros.h View File

@@ -0,0 +1,48 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERMACROS_H_
6
+#define FLUTTER_FLUTTERMACROS_H_
7
+
8
+#if defined(FLUTTER_FRAMEWORK)
9
+
10
+#define FLUTTER_DARWIN_EXPORT __attribute__((visibility("default")))
11
+
12
+#else  // defined(FLUTTER_SDK)
13
+
14
+#define FLUTTER_DARWIN_EXPORT
15
+
16
+#endif  // defined(FLUTTER_SDK)
17
+
18
+#ifndef NS_ASSUME_NONNULL_BEGIN
19
+#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
20
+#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
21
+#endif  // defined(NS_ASSUME_NONNULL_BEGIN)
22
+
23
+/**
24
+ * Indicates that the API has been deprecated for the specified reason. Code
25
+ * that uses the deprecated API will continue to work as before. However, the
26
+ * API will soon become unavailable and users are encouraged to immediately take
27
+ * the appropriate action mentioned in the deprecation message and the BREAKING
28
+ * CHANGES section present in the Flutter.h umbrella header.
29
+ */
30
+#define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg)))
31
+
32
+/**
33
+ * Indicates that the previously deprecated API is now unavailable. Code that
34
+ * uses the API will not work and the declaration of the API is only a stub
35
+ * meant to display the given message detailing the actions for the user to take
36
+ * immediately.
37
+ */
38
+#define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg)))
39
+
40
+#if __has_feature(objc_arc)
41
+#define FLUTTER_ASSERT_ARC
42
+#define FLUTTER_ASSERT_NOT_ARC #error ARC must be disabled!
43
+#else
44
+#define FLUTTER_ASSERT_ARC #error ARC must be enabled!
45
+#define FLUTTER_ASSERT_NOT_ARC
46
+#endif
47
+
48
+#endif  // FLUTTER_FLUTTERMACROS_H_

+ 56
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterPlatformViews.h View File

@@ -0,0 +1,56 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERPLATFORMVIEWS_H_
6
+#define FLUTTER_FLUTTERPLATFORMVIEWS_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+
10
+#import "FlutterCodecs.h"
11
+#import "FlutterMacros.h"
12
+
13
+NS_ASSUME_NONNULL_BEGIN
14
+
15
+/**
16
+ * Wraps a `UIView` for embedding in the Flutter hierarchy
17
+ */
18
+@protocol FlutterPlatformView <NSObject>
19
+/**
20
+ * Returns a reference to the `UIView` that is wrapped by this `FlutterPlatformView`.
21
+ */
22
+- (UIView*)view;
23
+@end
24
+
25
+FLUTTER_DARWIN_EXPORT
26
+@protocol FlutterPlatformViewFactory <NSObject>
27
+/**
28
+ * Create a `FlutterPlatformView`.
29
+ *
30
+ * Implemented by iOS code that expose a `UIView` for embedding in a Flutter app.
31
+ *
32
+ * The implementation of this method should create a new `UIView` and return it.
33
+ *
34
+ * @param frame The rectangle for the newly created `UIView` measured in points.
35
+ * @param viewId A unique identifier for this `UIView`.
36
+ * @param args Parameters for creating the `UIView` sent from the Dart side of the Flutter app.
37
+ *   If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart
38
+ *   code, this will be null. Otherwise this will be the value sent from the Dart code as decoded by
39
+ *   `createArgsCodec`.
40
+ */
41
+- (NSObject<FlutterPlatformView>*)createWithFrame:(CGRect)frame
42
+                                   viewIdentifier:(int64_t)viewId
43
+                                        arguments:(id _Nullable)args;
44
+
45
+/**
46
+ * Returns the `FlutterMessageCodec` for decoding the args parameter of `createWithFrame`.
47
+ *
48
+ * Only needs to be implemented if `createWithFrame` needs an arguments parameter.
49
+ */
50
+@optional
51
+- (NSObject<FlutterMessageCodec>*)createArgsCodec;
52
+@end
53
+
54
+NS_ASSUME_NONNULL_END
55
+
56
+#endif  // FLUTTER_FLUTTERPLATFORMVIEWS_H_

+ 450
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterPlugin.h View File

@@ -0,0 +1,450 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERPLUGIN_H_
6
+#define FLUTTER_FLUTTERPLUGIN_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+#import <UserNotifications/UNUserNotificationCenter.h>
10
+
11
+#import "FlutterBinaryMessenger.h"
12
+#import "FlutterChannels.h"
13
+#import "FlutterCodecs.h"
14
+#import "FlutterPlatformViews.h"
15
+#import "FlutterTexture.h"
16
+
17
+NS_ASSUME_NONNULL_BEGIN
18
+@protocol FlutterPluginRegistrar;
19
+@protocol FlutterPluginRegistry;
20
+
21
+#pragma mark -
22
+/**
23
+ * Protocol for listener of events from the UIApplication, typically a FlutterPlugin.
24
+ */
25
+@protocol FlutterApplicationLifeCycleDelegate
26
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
27
+    <UNUserNotificationCenterDelegate>
28
+#endif
29
+@optional
30
+/**
31
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
32
+ *
33
+ * @return `NO` if this vetoes application launch.
34
+ */
35
+- (BOOL)application:(UIApplication*)application
36
+    didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
37
+
38
+/**
39
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
40
+ *
41
+ * @return `NO` if this vetoes application launch.
42
+ */
43
+- (BOOL)application:(UIApplication*)application
44
+    willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
45
+
46
+/**
47
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
48
+ */
49
+- (void)applicationDidBecomeActive:(UIApplication*)application;
50
+
51
+/**
52
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
53
+ */
54
+- (void)applicationWillResignActive:(UIApplication*)application;
55
+
56
+/**
57
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
58
+ */
59
+- (void)applicationDidEnterBackground:(UIApplication*)application;
60
+
61
+/**
62
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
63
+ */
64
+- (void)applicationWillEnterForeground:(UIApplication*)application;
65
+
66
+/**
67
+ Called if this has been registered for `UIApplicationDelegate` callbacks.
68
+ */
69
+- (void)applicationWillTerminate:(UIApplication*)application;
70
+
71
+/**
72
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
73
+ */
74
+- (void)application:(UIApplication*)application
75
+    didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
76
+    API_DEPRECATED(
77
+        "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
78
+        ios(8.0, 10.0));
79
+
80
+/**
81
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
82
+ */
83
+- (void)application:(UIApplication*)application
84
+    didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
85
+
86
+/**
87
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
88
+ */
89
+- (void)application:(UIApplication*)application
90
+    didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
91
+
92
+/**
93
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
94
+ *
95
+ * @return `YES` if this handles the request.
96
+ */
97
+- (BOOL)application:(UIApplication*)application
98
+    didReceiveRemoteNotification:(NSDictionary*)userInfo
99
+          fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
100
+
101
+/**
102
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
103
+ */
104
+- (void)application:(UIApplication*)application
105
+    didReceiveLocalNotification:(UILocalNotification*)notification
106
+    API_DEPRECATED(
107
+        "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
108
+        ios(4.0, 10.0));
109
+
110
+/**
111
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
112
+ *
113
+ * @return `YES` if this handles the request.
114
+ */
115
+- (BOOL)application:(UIApplication*)application
116
+            openURL:(NSURL*)url
117
+            options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options;
118
+
119
+/**
120
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
121
+ *
122
+ * @return `YES` if this handles the request.
123
+ */
124
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
125
+
126
+/**
127
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
128
+ *
129
+ * @return `YES` if this handles the request.
130
+ */
131
+- (BOOL)application:(UIApplication*)application
132
+              openURL:(NSURL*)url
133
+    sourceApplication:(NSString*)sourceApplication
134
+           annotation:(id)annotation;
135
+
136
+/**
137
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
138
+ *
139
+ * @return `YES` if this handles the request.
140
+ */
141
+- (BOOL)application:(UIApplication*)application
142
+    performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
143
+               completionHandler:(void (^)(BOOL succeeded))completionHandler
144
+    API_AVAILABLE(ios(9.0));
145
+
146
+/**
147
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
148
+ *
149
+ * @return `YES` if this handles the request.
150
+ */
151
+- (BOOL)application:(UIApplication*)application
152
+    handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
153
+                      completionHandler:(nonnull void (^)(void))completionHandler;
154
+
155
+/**
156
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
157
+ *
158
+ * @return `YES` if this handles the request.
159
+ */
160
+- (BOOL)application:(UIApplication*)application
161
+    performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
162
+
163
+/**
164
+ * Called if this has been registered for `UIApplicationDelegate` callbacks.
165
+ *
166
+ * @return `YES` if this handles the request.
167
+ */
168
+- (BOOL)application:(UIApplication*)application
169
+    continueUserActivity:(NSUserActivity*)userActivity
170
+      restorationHandler:(void (^)(NSArray*))restorationHandler;
171
+@end
172
+
173
+#pragma mark -
174
+/**
175
+ * A plugin registration callback.
176
+ *
177
+ * Used for registering plugins with additional instances of
178
+ * `FlutterPluginRegistry`.
179
+ *
180
+ * @param registry The registry to register plugins with.
181
+ */
182
+typedef void (*FlutterPluginRegistrantCallback)(NSObject<FlutterPluginRegistry>* registry);
183
+
184
+#pragma mark -
185
+/**
186
+ * Implemented by the iOS part of a Flutter plugin.
187
+ *
188
+ * Defines a set of optional callback methods and a method to set up the plugin
189
+ * and register it to be called by other application components.
190
+ */
191
+@protocol FlutterPlugin <NSObject, FlutterApplicationLifeCycleDelegate>
192
+@required
193
+/**
194
+ * Registers this plugin using the context information and callback registration
195
+ * methods exposed by the given registrar.
196
+ *
197
+ * The registrar is obtained from a `FlutterPluginRegistry` which keeps track of
198
+ * the identity of registered plugins and provides basic support for cross-plugin
199
+ * coordination.
200
+ *
201
+ * The caller of this method, a plugin registrant, is usually autogenerated by
202
+ * Flutter tooling based on declared plugin dependencies. The generated registrant
203
+ * asks the registry for a registrar for each plugin, and calls this method to
204
+ * allow the plugin to initialize itself and register callbacks with application
205
+ * objects available through the registrar protocol.
206
+ *
207
+ * @param registrar A helper providing application context and methods for
208
+ *     registering callbacks.
209
+ */
210
++ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar;
211
+@optional
212
+/**
213
+ * Set a callback for registering plugins to an additional `FlutterPluginRegistry`,
214
+ * including headless `FlutterEngine` instances.
215
+ *
216
+ * This method is typically called from within an application's `AppDelegate` at
217
+ * startup to allow for plugins which create additional `FlutterEngine` instances
218
+ * to register the application's plugins.
219
+ *
220
+ * @param callback A callback for registering some set of plugins with a
221
+ *     `FlutterPluginRegistry`.
222
+ */
223
++ (void)setPluginRegistrantCallback:(FlutterPluginRegistrantCallback)callback;
224
+@optional
225
+/**
226
+ * Called if this plugin has been registered to receive `FlutterMethodCall`s.
227
+ *
228
+ * @param call The method call command object.
229
+ * @param result A callback for submitting the result of the call.
230
+ */
231
+- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result;
232
+@optional
233
+/**
234
+ * Called when a plugin is being removed from a `FlutterEngine`, which is
235
+ * usually the result of the `FlutterEngine` being deallocated.  This method
236
+ * provides the opportunity to do necessary cleanup.
237
+ *
238
+ * You will only receive this method if you registered your plugin instance with
239
+ * the `FlutterEngine` via `-[FlutterPluginRegistry publish:]`.
240
+ *
241
+ * @param registrar The registrar that was used to publish the plugin.
242
+ *
243
+ */
244
+- (void)detachFromEngineForRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar;
245
+@end
246
+
247
+#pragma mark -
248
+/**
249
+ * How the UIGestureRecognizers of a platform view are blocked.
250
+ *
251
+ * UIGestureRecognizers of platform views can be blocked based on decisions made by the
252
+ * Flutter Framework (e.g. When an interact-able widget is covering the platform view).
253
+ */
254
+typedef enum {
255
+  /**
256
+   * Flutter blocks all the UIGestureRecognizers on the platform view as soon as it
257
+   * decides they should be blocked.
258
+   *
259
+   * With this policy, only the `touchesBegan` method for all the UIGestureRecognizers is guaranteed
260
+   * to be called.
261
+   */
262
+  FlutterPlatformViewGestureRecognizersBlockingPolicyEager,
263
+  /**
264
+   * Flutter blocks the platform view's UIGestureRecognizers from recognizing only after
265
+   * touchesEnded was invoked.
266
+   *
267
+   * This results in the platform view's UIGestureRecognizers seeing the entire touch sequence,
268
+   * but never recognizing the gesture (and never invoking actions).
269
+   */
270
+  FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded,
271
+} FlutterPlatformViewGestureRecognizersBlockingPolicy;
272
+
273
+#pragma mark -
274
+/**
275
+ * Registration context for a single `FlutterPlugin`, providing a one stop shop
276
+ * for the plugin to access contextual information and register callbacks for
277
+ * various application events.
278
+ *
279
+ * Registrars are obtained from a `FlutterPluginRegistry` which keeps track of
280
+ * the identity of registered plugins and provides basic support for cross-plugin
281
+ * coordination.
282
+ */
283
+@protocol FlutterPluginRegistrar <NSObject>
284
+/**
285
+ * Returns a `FlutterBinaryMessenger` for creating Dart/iOS communication
286
+ * channels to be used by the plugin.
287
+ *
288
+ * @return The messenger.
289
+ */
290
+- (NSObject<FlutterBinaryMessenger>*)messenger;
291
+
292
+/**
293
+ * Returns a `FlutterTextureRegistry` for registering textures
294
+ * provided by the plugin.
295
+ *
296
+ * @return The texture registry.
297
+ */
298
+- (NSObject<FlutterTextureRegistry>*)textures;
299
+
300
+/**
301
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
302
+ *
303
+ * Plugins expose `UIView` for embedding in Flutter apps by registering a view factory.
304
+ *
305
+ * @param factory The view factory that will be registered.
306
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
307
+ *   this identifier to request creation of a `UIView` by the registered factory.
308
+ */
309
+- (void)registerViewFactory:(NSObject<FlutterPlatformViewFactory>*)factory
310
+                     withId:(NSString*)factoryId;
311
+
312
+/**
313
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
314
+ *
315
+ * Plugins can expose a `UIView` for embedding in Flutter apps by registering a view factory.
316
+ *
317
+ * @param factory The view factory that will be registered.
318
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
319
+ *   this identifier to request creation of a `UIView` by the registered factory.
320
+ * @param gestureRecognizersBlockingPolicy How UIGestureRecognizers on the platform views are
321
+ * blocked.
322
+ *
323
+ */
324
+- (void)registerViewFactory:(NSObject<FlutterPlatformViewFactory>*)factory
325
+                              withId:(NSString*)factoryId
326
+    gestureRecognizersBlockingPolicy:
327
+        (FlutterPlatformViewGestureRecognizersBlockingPolicy)gestureRecognizersBlockingPolicy;
328
+
329
+/**
330
+ * Publishes a value for external use of the plugin.
331
+ *
332
+ * Plugins may publish a single value, such as an instance of the
333
+ * plugin's main class, for situations where external control or
334
+ * interaction is needed.
335
+ *
336
+ * The published value will be available from the `FlutterPluginRegistry`.
337
+ * Repeated calls overwrite any previous publication.
338
+ *
339
+ * @param value The value to be published.
340
+ */
341
+- (void)publish:(NSObject*)value;
342
+
343
+/**
344
+ * Registers the plugin as a receiver of incoming method calls from the Dart side
345
+ * on the specified `FlutterMethodChannel`.
346
+ *
347
+ * @param delegate The receiving object, such as the plugin's main class.
348
+ * @param channel The channel
349
+ */
350
+- (void)addMethodCallDelegate:(NSObject<FlutterPlugin>*)delegate
351
+                      channel:(FlutterMethodChannel*)channel;
352
+
353
+/**
354
+ * Registers the plugin as a receiver of `UIApplicationDelegate` calls.
355
+ *
356
+ * @param delegate The receiving object, such as the plugin's main class.
357
+ */
358
+- (void)addApplicationDelegate:(NSObject<FlutterPlugin>*)delegate;
359
+
360
+/**
361
+ * Returns the file name for the given asset.
362
+ * The returned file name can be used to access the asset in the application's main bundle.
363
+ *
364
+ * @param asset The name of the asset. The name can be hierarchical.
365
+ * @return the file name to be used for lookup in the main bundle.
366
+ */
367
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
368
+
369
+/**
370
+ * Returns the file name for the given asset which originates from the specified package.
371
+ * The returned file name can be used to access the asset in the application's main bundle.
372
+ *
373
+ *
374
+ * @param asset The name of the asset. The name can be hierarchical.
375
+ * @param package The name of the package from which the asset originates.
376
+ * @return the file name to be used for lookup in the main bundle.
377
+ */
378
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
379
+@end
380
+
381
+#pragma mark -
382
+/**
383
+ * A registry of Flutter iOS plugins.
384
+ *
385
+ * Plugins are identified by unique string keys, typically the name of the
386
+ * plugin's main class. The registry tracks plugins by this key, mapping it to
387
+ * a value published by the plugin during registration, if any. This provides a
388
+ * very basic means of cross-plugin coordination with loose coupling between
389
+ * unrelated plugins.
390
+ *
391
+ * Plugins typically need contextual information and the ability to register
392
+ * callbacks for various application events. To keep the API of the registry
393
+ * focused, these facilities are not provided directly by the registry, but by
394
+ * a `FlutterPluginRegistrar`, created by the registry in exchange for the unique
395
+ * key of the plugin.
396
+ *
397
+ * There is no implied connection between the registry and the registrar.
398
+ * Specifically, callbacks registered by the plugin via the registrar may be
399
+ * relayed directly to the underlying iOS application objects.
400
+ */
401
+@protocol FlutterPluginRegistry <NSObject>
402
+/**
403
+ * Returns a registrar for registering a plugin.
404
+ *
405
+ * @param pluginKey The unique key identifying the plugin.
406
+ */
407
+- (nullable NSObject<FlutterPluginRegistrar>*)registrarForPlugin:(NSString*)pluginKey;
408
+/**
409
+ * Returns whether the specified plugin has been registered.
410
+ *
411
+ * @param pluginKey The unique key identifying the plugin.
412
+ * @return `YES` if `registrarForPlugin` has been called with `pluginKey`.
413
+ */
414
+- (BOOL)hasPlugin:(NSString*)pluginKey;
415
+
416
+/**
417
+ * Returns a value published by the specified plugin.
418
+ *
419
+ * @param pluginKey The unique key identifying the plugin.
420
+ * @return An object published by the plugin, if any. Will be `NSNull` if
421
+ *   nothing has been published. Will be `nil` if the plugin has not been
422
+ *   registered.
423
+ */
424
+- (nullable NSObject*)valuePublishedByPlugin:(NSString*)pluginKey;
425
+@end
426
+
427
+#pragma mark -
428
+/**
429
+ * Implement this in the `UIAppDelegate` of your app to enable Flutter plugins to register
430
+ * themselves to the application life cycle events.
431
+ *
432
+ * For plugins to receive events from `UNUserNotificationCenter`, register this as the
433
+ * `UNUserNotificationCenterDelegate`.
434
+ */
435
+@protocol FlutterAppLifeCycleProvider
436
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
437
+    <UNUserNotificationCenterDelegate>
438
+#endif
439
+
440
+/**
441
+ * Called when registering a new `FlutterApplicaitonLifeCycleDelegate`.
442
+ *
443
+ * See also: `-[FlutterAppDelegate addApplicationLifeCycleDelegate:]`
444
+ */
445
+- (void)addApplicationLifeCycleDelegate:(NSObject<FlutterApplicationLifeCycleDelegate>*)delegate;
446
+@end
447
+
448
+NS_ASSUME_NONNULL_END
449
+
450
+#endif  // FLUTTER_FLUTTERPLUGIN_H_

+ 151
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h View File

@@ -0,0 +1,151 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
6
+#define FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
7
+
8
+#import "FlutterPlugin.h"
9
+
10
+NS_ASSUME_NONNULL_BEGIN
11
+
12
+/**
13
+ * Propagates `UIAppDelegate` callbacks to registered plugins.
14
+ */
15
+FLUTTER_DARWIN_EXPORT
16
+@interface FlutterPluginAppLifeCycleDelegate : NSObject
17
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
18
+                                               <UNUserNotificationCenterDelegate>
19
+#endif
20
+
21
+/**
22
+ * Registers `delegate` to receive life cycle callbacks via this FlutterPluginAppLifecycleDelegate
23
+ * as long as it is alive.
24
+ *
25
+ * `delegate` will only referenced weakly.
26
+ */
27
+- (void)addDelegate:(NSObject<FlutterApplicationLifeCycleDelegate>*)delegate;
28
+
29
+/**
30
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
31
+ *
32
+ * @return `NO` if any plugin vetoes application launch.
33
+ */
34
+- (BOOL)application:(UIApplication*)application
35
+    didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
36
+
37
+/**
38
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
39
+ *
40
+ * @return `NO` if any plugin vetoes application launch.
41
+ */
42
+- (BOOL)application:(UIApplication*)application
43
+    willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
44
+
45
+/**
46
+ * Called if this plugin has been registered for `UIApplicationDelegate` callbacks.
47
+ */
48
+- (void)application:(UIApplication*)application
49
+    didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
50
+    API_DEPRECATED(
51
+        "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
52
+        ios(8.0, 10.0));
53
+
54
+/**
55
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
56
+ */
57
+- (void)application:(UIApplication*)application
58
+    didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
59
+
60
+/**
61
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
62
+ */
63
+- (void)application:(UIApplication*)application
64
+    didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
65
+
66
+/**
67
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
68
+ */
69
+- (void)application:(UIApplication*)application
70
+    didReceiveRemoteNotification:(NSDictionary*)userInfo
71
+          fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
72
+
73
+/**
74
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
75
+ */
76
+- (void)application:(UIApplication*)application
77
+    didReceiveLocalNotification:(UILocalNotification*)notification
78
+    API_DEPRECATED(
79
+        "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
80
+        ios(4.0, 10.0));
81
+
82
+/**
83
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
84
+ * some plugin handles the request.
85
+ *
86
+ *  @return `YES` if any plugin handles the request.
87
+ */
88
+- (BOOL)application:(UIApplication*)application
89
+            openURL:(NSURL*)url
90
+            options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options;
91
+
92
+/**
93
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
94
+ * some plugin handles the request.
95
+ *
96
+ * @return `YES` if any plugin handles the request.
97
+ */
98
+- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
99
+
100
+/**
101
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
102
+ * some plugin handles the request.
103
+ *
104
+ * @return `YES` if any plugin handles the request.
105
+ */
106
+- (BOOL)application:(UIApplication*)application
107
+              openURL:(NSURL*)url
108
+    sourceApplication:(NSString*)sourceApplication
109
+           annotation:(id)annotation;
110
+
111
+/**
112
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks.
113
+ */
114
+- (void)application:(UIApplication*)application
115
+    performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
116
+               completionHandler:(void (^)(BOOL succeeded))completionHandler
117
+    API_AVAILABLE(ios(9.0));
118
+
119
+/**
120
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
121
+ * some plugin handles the request.
122
+ *
123
+ * @return `YES` if any plugin handles the request.
124
+ */
125
+- (BOOL)application:(UIApplication*)application
126
+    handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
127
+                      completionHandler:(nonnull void (^)(void))completionHandler;
128
+
129
+/**
130
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
131
+ * some plugin handles the request.
132
+ *
133
+ * @returns `YES` if any plugin handles the request.
134
+ */
135
+- (BOOL)application:(UIApplication*)application
136
+    performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
137
+
138
+/**
139
+ * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
140
+ * some plugin handles the request.
141
+ *
142
+ * @return `YES` if any plugin handles the request.
143
+ */
144
+- (BOOL)application:(UIApplication*)application
145
+    continueUserActivity:(NSUserActivity*)userActivity
146
+      restorationHandler:(void (^)(NSArray*))restorationHandler;
147
+@end
148
+
149
+NS_ASSUME_NONNULL_END
150
+
151
+#endif  // FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_

+ 62
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterTexture.h View File

@@ -0,0 +1,62 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERTEXTURE_H_
6
+#define FLUTTER_FLUTTERTEXTURE_H_
7
+
8
+#import <CoreMedia/CoreMedia.h>
9
+#import <Foundation/Foundation.h>
10
+
11
+#import "FlutterMacros.h"
12
+
13
+NS_ASSUME_NONNULL_BEGIN
14
+
15
+FLUTTER_DARWIN_EXPORT
16
+/**
17
+ * Represents a texture that can be shared with Flutter.
18
+ *
19
+ * See also: https://github.com/flutter/plugins/tree/master/packages/camera
20
+ */
21
+@protocol FlutterTexture <NSObject>
22
+/** Copy the contents of the texture into a `CVPixelBuffer`. */
23
+- (CVPixelBufferRef _Nullable)copyPixelBuffer;
24
+
25
+/**
26
+ * Called when the texture is unregistered.
27
+ *
28
+ * Called on the raster thread.
29
+ */
30
+@optional
31
+- (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture;
32
+@end
33
+
34
+FLUTTER_DARWIN_EXPORT
35
+/**
36
+ * A collection of registered `FlutterTexture`'s.
37
+ */
38
+@protocol FlutterTextureRegistry <NSObject>
39
+/**
40
+ * Registers a `FlutterTexture` for usage in Flutter and returns an id that can be used to reference
41
+ * that texture when calling into Flutter with channels. Textures must be registered on the
42
+ * platform thread. On success returns the pointer to the registered texture, else returns 0.
43
+ */
44
+- (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture;
45
+/**
46
+ * Notifies Flutter that the content of the previously registered texture has been updated.
47
+ *
48
+ * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread.
49
+ */
50
+- (void)textureFrameAvailable:(int64_t)textureId;
51
+/**
52
+ * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures
53
+ * must be unregistered on the platform thread.
54
+ *
55
+ * @param textureId The result that was previously returned from `registerTexture:`.
56
+ */
57
+- (void)unregisterTexture:(int64_t)textureId;
58
+@end
59
+
60
+NS_ASSUME_NONNULL_END
61
+
62
+#endif  // FLUTTER_FLUTTERTEXTURE_H_

+ 249
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Headers/FlutterViewController.h View File

@@ -0,0 +1,249 @@
1
+// Copyright 2013 The Flutter Authors. All rights reserved.
2
+// Use of this source code is governed by a BSD-style license that can be
3
+// found in the LICENSE file.
4
+
5
+#ifndef FLUTTER_FLUTTERVIEWCONTROLLER_H_
6
+#define FLUTTER_FLUTTERVIEWCONTROLLER_H_
7
+
8
+#import <UIKit/UIKit.h>
9
+#include <sys/cdefs.h>
10
+
11
+#import "FlutterBinaryMessenger.h"
12
+#import "FlutterDartProject.h"
13
+#import "FlutterEngine.h"
14
+#import "FlutterMacros.h"
15
+#import "FlutterPlugin.h"
16
+#import "FlutterTexture.h"
17
+
18
+NS_ASSUME_NONNULL_BEGIN
19
+
20
+@class FlutterEngine;
21
+
22
+/**
23
+ * The name used for semantic update notifications via `NSNotificationCenter`.
24
+ *
25
+ * The object passed as the sender is the `FlutterViewController` associated
26
+ * with the update.
27
+ */
28
+FLUTTER_DARWIN_EXPORT
29
+extern NSNotificationName const FlutterSemanticsUpdateNotification;
30
+
31
+/**
32
+ * A `UIViewController` implementation for Flutter views.
33
+ *
34
+ * Dart execution, channel communication, texture registration, and plugin registration are all
35
+ * handled by `FlutterEngine`. Calls on this class to those members all proxy through to the
36
+ * `FlutterEngine` attached FlutterViewController.
37
+ *
38
+ * A FlutterViewController can be initialized either with an already-running `FlutterEngine` via the
39
+ * `initWithEngine:` initializer, or it can be initialized with a `FlutterDartProject` that will be
40
+ * used to implicitly spin up a new `FlutterEngine`. Creating a `FlutterEngine` before showing a
41
+ * FlutterViewController can be used to pre-initialize the Dart VM and to prepare the isolate in
42
+ * order to reduce the latency to the first rendered frame. See
43
+ * https://flutter.dev/docs/development/add-to-app/performance for more details on loading
44
+ * latency.
45
+ *
46
+ * Holding a `FlutterEngine` independently of FlutterViewControllers can also be used to not to lose
47
+ * Dart-related state and asynchronous tasks when navigating back and forth between a
48
+ * FlutterViewController and other `UIViewController`s.
49
+ */
50
+FLUTTER_DARWIN_EXPORT
51
+#ifdef __IPHONE_13_4
52
+@interface FlutterViewController
53
+    : UIViewController <FlutterTextureRegistry, FlutterPluginRegistry, UIGestureRecognizerDelegate>
54
+#else
55
+@interface FlutterViewController : UIViewController <FlutterTextureRegistry, FlutterPluginRegistry>
56
+#endif
57
+
58
+/**
59
+ * Initializes this FlutterViewController with the specified `FlutterEngine`.
60
+ *
61
+ * The initialized viewcontroller will attach itself to the engine as part of this process.
62
+ *
63
+ * @param engine The `FlutterEngine` instance to attach to. Cannot be nil.
64
+ * @param nibName The NIB name to initialize this UIViewController with.
65
+ * @param nibBundle The NIB bundle.
66
+ */
67
+- (instancetype)initWithEngine:(FlutterEngine*)engine
68
+                       nibName:(nullable NSString*)nibName
69
+                        bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
70
+
71
+/**
72
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
73
+ * `FlutterDartProject`.
74
+ *
75
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
76
+ * after initialization.
77
+ *
78
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
79
+ * @param nibName The NIB name to initialize this UIViewController with.
80
+ * @param nibBundle The NIB bundle.
81
+ */
82
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
83
+                        nibName:(nullable NSString*)nibName
84
+                         bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
85
+
86
+/**
87
+ * Initializes a new FlutterViewController and `FlutterEngine` with the specified
88
+ * `FlutterDartProject` and `initialRoute`.
89
+ *
90
+ * This will implicitly create a new `FlutterEngine` which is retrievable via the `engine` property
91
+ * after initialization.
92
+ *
93
+ * @param project The `FlutterDartProject` to initialize the `FlutterEngine` with.
94
+ * @param initialRoute The initial `Navigator` route to load.
95
+ * @param nibName The NIB name to initialize this UIViewController with.
96
+ * @param nibBundle The NIB bundle.
97
+ */
98
+- (instancetype)initWithProject:(nullable FlutterDartProject*)project
99
+                   initialRoute:(nullable NSString*)initialRoute
100
+                        nibName:(nullable NSString*)nibName
101
+                         bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
102
+
103
+/**
104
+ * Initializer that is called from loading a FlutterViewController from a XIB.
105
+ *
106
+ * See also:
107
+ * https://developer.apple.com/documentation/foundation/nscoding/1416145-initwithcoder?language=objc
108
+ */
109
+- (instancetype)initWithCoder:(NSCoder*)aDecoder NS_DESIGNATED_INITIALIZER;
110
+
111
+/**
112
+ * Registers a callback that will be invoked when the Flutter view has been rendered.
113
+ * The callback will be fired only once.
114
+ *
115
+ * Replaces an existing callback. Use a `nil` callback to unregister the existing one.
116
+ */
117
+- (void)setFlutterViewDidRenderCallback:(void (^)(void))callback;
118
+
119
+/**
120
+ * Returns the file name for the given asset.
121
+ * The returned file name can be used to access the asset in the application's
122
+ * main bundle.
123
+ *
124
+ * @param asset The name of the asset. The name can be hierarchical.
125
+ * @return The file name to be used for lookup in the main bundle.
126
+ */
127
+- (NSString*)lookupKeyForAsset:(NSString*)asset;
128
+
129
+/**
130
+ * Returns the file name for the given asset which originates from the specified
131
+ * package.
132
+ * The returned file name can be used to access the asset in the application's
133
+ * main bundle.
134
+ *
135
+ * @param asset The name of the asset. The name can be hierarchical.
136
+ * @param package The name of the package from which the asset originates.
137
+ * @return The file name to be used for lookup in the main bundle.
138
+ */
139
+- (NSString*)lookupKeyForAsset:(NSString*)asset fromPackage:(NSString*)package;
140
+
141
+/**
142
+ * Deprecated API to set initial route.
143
+ *
144
+ * Attempts to set the first route that the Flutter app shows if the Flutter
145
+ * runtime hasn't yet started. The default is "/".
146
+ *
147
+ * This method must be called immediately after `initWithProject` and has no
148
+ * effect when using `initWithEngine` if the `FlutterEngine` has already been
149
+ * run.
150
+ *
151
+ * Setting this after the Flutter started running has no effect. See `pushRoute`
152
+ * and `popRoute` to change the route after Flutter started running.
153
+ *
154
+ * This is deprecated because it needs to be called at the time of initialization
155
+ * and thus should just be in the `initWithProject` initializer. If using
156
+ * `initWithEngine`, the initial route should be set on the engine's
157
+ * initializer.
158
+ *
159
+ * @param route The name of the first route to show.
160
+ */
161
+- (void)setInitialRoute:(NSString*)route
162
+    FLUTTER_DEPRECATED("Use FlutterViewController initializer to specify initial route");
163
+
164
+/**
165
+ * Instructs the Flutter Navigator (if any) to go back.
166
+ */
167
+- (void)popRoute;
168
+
169
+/**
170
+ * Instructs the Flutter Navigator (if any) to push a route on to the navigation
171
+ * stack.
172
+ *
173
+ * @param route The name of the route to push to the navigation stack.
174
+ */
175
+- (void)pushRoute:(NSString*)route;
176
+
177
+/**
178
+ * The `FlutterPluginRegistry` used by this FlutterViewController.
179
+ */
180
+- (id<FlutterPluginRegistry>)pluginRegistry;
181
+
182
+/**
183
+ * True if at least one frame has rendered and the ViewController has appeared.
184
+ *
185
+ * This property is reset to false when the ViewController disappears. It is
186
+ * guaranteed to only alternate between true and false for observers.
187
+ */
188
+@property(nonatomic, readonly, getter=isDisplayingFlutterUI) BOOL displayingFlutterUI;
189
+
190
+/**
191
+ * Specifies the view to use as a splash screen. Flutter's rendering is asynchronous, so the first
192
+ * frame rendered by the Flutter application might not immediately appear when theFlutter view is
193
+ * initially placed in the view hierarchy. The splash screen view will be used as
194
+ * a replacement until the first frame is rendered.
195
+ *
196
+ * The view used should be appropriate for multiple sizes; an autoresizing mask to
197
+ * have a flexible width and height will be applied automatically.
198
+ */
199
+@property(strong, nonatomic) UIView* splashScreenView;
200
+
201
+/**
202
+ * Attempts to set the `splashScreenView` property from the `UILaunchStoryboardName` from the
203
+ * main bundle's `Info.plist` file.  This method will not change the value of `splashScreenView`
204
+ * if it cannot find a default one from a storyboard or nib.
205
+ *
206
+ * @return `YES` if successful, `NO` otherwise.
207
+ */
208
+- (BOOL)loadDefaultSplashScreenView;
209
+
210
+/**
211
+ * Controls whether the created view will be opaque or not.
212
+ *
213
+ * Default is `YES`.  Note that setting this to `NO` may negatively impact performance
214
+ * when using hardware acceleration, and toggling this will trigger a re-layout of the
215
+ * view.
216
+ */
217
+@property(nonatomic, getter=isViewOpaque) BOOL viewOpaque;
218
+
219
+/**
220
+ * The `FlutterEngine` instance for this view controller. This could be the engine this
221
+ * `FlutterViewController` is initialized with or a new `FlutterEngine` implicitly created if
222
+ * no engine was supplied during initialization.
223
+ */
224
+@property(weak, nonatomic, readonly) FlutterEngine* engine;
225
+
226
+/**
227
+ * The `FlutterBinaryMessenger` associated with this FlutterViewController (used for communicating
228
+ * with channels).
229
+ *
230
+ * This is just a convenient way to get the |FlutterEngine|'s binary messenger.
231
+ */
232
+@property(nonatomic, readonly) NSObject<FlutterBinaryMessenger>* binaryMessenger;
233
+
234
+/**
235
+ * If the `FlutterViewController` creates a `FlutterEngine`, this property
236
+ * determines if that `FlutterEngine` has `allowHeadlessExecution` set.
237
+ *
238
+ * The intention is that this is used with the XIB.  Otherwise, a
239
+ * `FlutterEngine` can just be sent to the init methods.
240
+ *
241
+ * See also: `-[FlutterEngine initWithName:project:allowHeadlessExecution:]`
242
+ */
243
+@property(nonatomic, readonly) BOOL engineAllowHeadlessExecution;
244
+
245
+@end
246
+
247
+NS_ASSUME_NONNULL_END
248
+
249
+#endif  // FLUTTER_FLUTTERVIEWCONTROLLER_H_

+ 30
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Info.plist View File

@@ -0,0 +1,30 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+  <key>CFBundleDevelopmentRegion</key>
6
+  <string>en</string>
7
+  <key>CFBundleExecutable</key>
8
+  <string>Flutter</string>
9
+  <key>CFBundleIdentifier</key>
10
+  <string>io.flutter.flutter</string>
11
+  <key>CFBundleInfoDictionaryVersion</key>
12
+  <string>6.0</string>
13
+  <key>CFBundleName</key>
14
+  <string>Flutter</string>
15
+  <key>CFBundlePackageType</key>
16
+  <string>FMWK</string>
17
+  <key>CFBundleShortVersionString</key>
18
+  <string>1.0</string>
19
+  <key>CFBundleSignature</key>
20
+  <string>????</string>
21
+  <key>CFBundleVersion</key>
22
+  <string>1.0</string>
23
+  <key>MinimumOSVersion</key>
24
+  <string>9.0</string>
25
+  <key>FlutterEngine</key>
26
+  <string>57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab</string>
27
+  <key>ClangVersion</key>
28
+  <string>b'Apple clang version 12.0.0 (clang-1200.0.32.2)'</string>
29
+</dict>
30
+</plist>

+ 6
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Modules/module.modulemap View File

@@ -0,0 +1,6 @@
1
+framework module Flutter {
2
+  umbrella header "Flutter.h"
3
+
4
+  export *
5
+  module * { export * }
6
+}

+ 372
- 0
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/_CodeSignature/CodeResources View File

@@ -0,0 +1,372 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>files</key>
6
+	<dict>
7
+		<key>Headers/Flutter.h</key>
8
+		<data>
9
+		Jfv2Vo3itUyjWGSxXIEV/9Skri8=
10
+		</data>
11
+		<key>Headers/FlutterAppDelegate.h</key>
12
+		<data>
13
+		QU3ZohDucENpee9k2C4s7Ovkwxw=
14
+		</data>
15
+		<key>Headers/FlutterBinaryMessenger.h</key>
16
+		<data>
17
+		etrFpvIkvsKk1mlvYXGTBvgwzzE=
18
+		</data>
19
+		<key>Headers/FlutterCallbackCache.h</key>
20
+		<data>
21
+		lTUaQzdBsC/YVTRn48+amlv1iw4=
22
+		</data>
23
+		<key>Headers/FlutterChannels.h</key>
24
+		<data>
25
+		sHj+Q0IC9IHcDQFEUVW9NjjVwyo=
26
+		</data>
27
+		<key>Headers/FlutterCodecs.h</key>
28
+		<data>
29
+		O4jh4GUQe4YBT6YjVMXNbQMbalk=
30
+		</data>
31
+		<key>Headers/FlutterDartProject.h</key>
32
+		<data>
33
+		KV/kYQEVGGR8R5A47Y8un4FVpyM=
34
+		</data>
35
+		<key>Headers/FlutterEngine.h</key>
36
+		<data>
37
+		iK8LlXFSIB+kRycoxv7/IGhwLtg=
38
+		</data>
39
+		<key>Headers/FlutterEngineGroup.h</key>
40
+		<data>
41
+		nZcTgHGDD30QzPLlQfP8gP+S06o=
42
+		</data>
43
+		<key>Headers/FlutterHeadlessDartRunner.h</key>
44
+		<data>
45
+		XnDDN+yQj6qLXTuhI0tgTMDbtbI=
46
+		</data>
47
+		<key>Headers/FlutterMacros.h</key>
48
+		<data>
49
+		I9N4VAVhaoHjYjsRdmqSzEYJgN4=
50
+		</data>
51
+		<key>Headers/FlutterPlatformViews.h</key>
52
+		<data>
53
+		JofRibXJB+HPxhe0SAphfoKFSTE=
54
+		</data>
55
+		<key>Headers/FlutterPlugin.h</key>
56
+		<data>
57
+		S/UeCZ6Y0yI99FfBwKgU9PS43Ew=
58
+		</data>
59
+		<key>Headers/FlutterPluginAppLifeCycleDelegate.h</key>
60
+		<data>
61
+		zAGEwFaURRrydTUwPCDUz7GJ6zM=
62
+		</data>
63
+		<key>Headers/FlutterTexture.h</key>
64
+		<data>
65
+		yBJovGku2dvjTDXp2km51wNc8yM=
66
+		</data>
67
+		<key>Headers/FlutterViewController.h</key>
68
+		<data>
69
+		Q3r7sTHoNIBT8yAHHi1CJOHApog=
70
+		</data>
71
+		<key>Info.plist</key>
72
+		<data>
73
+		Cs55BJxmM6fRteTSVlb1tmMKPUc=
74
+		</data>
75
+		<key>Modules/module.modulemap</key>
76
+		<data>
77
+		wJV5dCKEGl+FAtDc8wJJh/fvKXs=
78
+		</data>
79
+		<key>icudtl.dat</key>
80
+		<data>
81
+		1QumeTTkdhWvmY7i40QoJewEapE=
82
+		</data>
83
+	</dict>
84
+	<key>files2</key>
85
+	<dict>
86
+		<key>Headers/Flutter.h</key>
87
+		<dict>
88
+			<key>hash</key>
89
+			<data>
90
+			Jfv2Vo3itUyjWGSxXIEV/9Skri8=
91
+			</data>
92
+			<key>hash2</key>
93
+			<data>
94
+			uwm8JZgId56AcAI6HgoYvB86L3U5XLTdogukvzdieH0=
95
+			</data>
96
+		</dict>
97
+		<key>Headers/FlutterAppDelegate.h</key>
98
+		<dict>
99
+			<key>hash</key>
100
+			<data>
101
+			QU3ZohDucENpee9k2C4s7Ovkwxw=
102
+			</data>
103
+			<key>hash2</key>
104
+			<data>
105
+			ZE5n3wyEphmq0NvXEk+TgX9+IH2WWIRdDoZj+8Zmu+E=
106
+			</data>
107
+		</dict>
108
+		<key>Headers/FlutterBinaryMessenger.h</key>
109
+		<dict>
110
+			<key>hash</key>
111
+			<data>
112
+			etrFpvIkvsKk1mlvYXGTBvgwzzE=
113
+			</data>
114
+			<key>hash2</key>
115
+			<data>
116
+			3SViazqKyfDFTyiD8JSsNncD/XtsdhhL1bSSPXnfIio=
117
+			</data>
118
+		</dict>
119
+		<key>Headers/FlutterCallbackCache.h</key>
120
+		<dict>
121
+			<key>hash</key>
122
+			<data>
123
+			lTUaQzdBsC/YVTRn48+amlv1iw4=
124
+			</data>
125
+			<key>hash2</key>
126
+			<data>
127
+			1dNDb41OVcGRhdnQfLHPfpfNUSb9f9Dmg57Bqo4gJv0=
128
+			</data>
129
+		</dict>
130
+		<key>Headers/FlutterChannels.h</key>
131
+		<dict>
132
+			<key>hash</key>
133
+			<data>
134
+			sHj+Q0IC9IHcDQFEUVW9NjjVwyo=
135
+			</data>
136
+			<key>hash2</key>
137
+			<data>
138
+			mMZONInvJM4ILgC2/EPW99HwFnhDr0K7Qti6QFfqno0=
139
+			</data>
140
+		</dict>
141
+		<key>Headers/FlutterCodecs.h</key>
142
+		<dict>
143
+			<key>hash</key>
144
+			<data>
145
+			O4jh4GUQe4YBT6YjVMXNbQMbalk=
146
+			</data>
147
+			<key>hash2</key>
148
+			<data>
149
+			yML7JaB7PwUwr6A9dDtlf6CCeMLjzd9Vja1r4Hkngvs=
150
+			</data>
151
+		</dict>
152
+		<key>Headers/FlutterDartProject.h</key>
153
+		<dict>
154
+			<key>hash</key>
155
+			<data>
156
+			KV/kYQEVGGR8R5A47Y8un4FVpyM=
157
+			</data>
158
+			<key>hash2</key>
159
+			<data>
160
+			oh1zoNJHh3WYpypd0pFtVfMe26Vi8LBCgWWufB9DCUc=
161
+			</data>
162
+		</dict>
163
+		<key>Headers/FlutterEngine.h</key>
164
+		<dict>
165
+			<key>hash</key>
166
+			<data>
167
+			iK8LlXFSIB+kRycoxv7/IGhwLtg=
168
+			</data>
169
+			<key>hash2</key>
170
+			<data>
171
+			OFsLCLyLBDzxeZL7XdnU+Nl6W36lSsKyIT3Z/l0ojrM=
172
+			</data>
173
+		</dict>
174
+		<key>Headers/FlutterEngineGroup.h</key>
175
+		<dict>
176
+			<key>hash</key>
177
+			<data>
178
+			nZcTgHGDD30QzPLlQfP8gP+S06o=
179
+			</data>
180
+			<key>hash2</key>
181
+			<data>
182
+			I+878Ez9ZpVdAR2GOzKJKjaZ5m807AeAF++2pSMQss4=
183
+			</data>
184
+		</dict>
185
+		<key>Headers/FlutterHeadlessDartRunner.h</key>
186
+		<dict>
187
+			<key>hash</key>
188
+			<data>
189
+			XnDDN+yQj6qLXTuhI0tgTMDbtbI=
190
+			</data>
191
+			<key>hash2</key>
192
+			<data>
193
+			sELlVsLARG1gBlPndKt24VxGVmBMgcXWeShflcVtZBQ=
194
+			</data>
195
+		</dict>
196
+		<key>Headers/FlutterMacros.h</key>
197
+		<dict>
198
+			<key>hash</key>
199
+			<data>
200
+			I9N4VAVhaoHjYjsRdmqSzEYJgN4=
201
+			</data>
202
+			<key>hash2</key>
203
+			<data>
204
+			7FrU4ZPRKob2HMUIRVBrtZ/QBRs2QL0JUN4oJmEaZs0=
205
+			</data>
206
+		</dict>
207
+		<key>Headers/FlutterPlatformViews.h</key>
208
+		<dict>
209
+			<key>hash</key>
210
+			<data>
211
+			JofRibXJB+HPxhe0SAphfoKFSTE=
212
+			</data>
213
+			<key>hash2</key>
214
+			<data>
215
+			c4TS8HplkxEc+09dBX5h+BZ+vkI9QJU/3ljud7WmdTM=
216
+			</data>
217
+		</dict>
218
+		<key>Headers/FlutterPlugin.h</key>
219
+		<dict>
220
+			<key>hash</key>
221
+			<data>
222
+			S/UeCZ6Y0yI99FfBwKgU9PS43Ew=
223
+			</data>
224
+			<key>hash2</key>
225
+			<data>
226
+			nGbu0SXJXnL90HHWeBDDdp4TMAX9aCxs6QUNHIebL8c=
227
+			</data>
228
+		</dict>
229
+		<key>Headers/FlutterPluginAppLifeCycleDelegate.h</key>
230
+		<dict>
231
+			<key>hash</key>
232
+			<data>
233
+			zAGEwFaURRrydTUwPCDUz7GJ6zM=
234
+			</data>
235
+			<key>hash2</key>
236
+			<data>
237
+			EtaABLEmwzrHo7IO2TwLjD27xRbd1xOeRM7NrlUhRm0=
238
+			</data>
239
+		</dict>
240
+		<key>Headers/FlutterTexture.h</key>
241
+		<dict>
242
+			<key>hash</key>
243
+			<data>
244
+			yBJovGku2dvjTDXp2km51wNc8yM=
245
+			</data>
246
+			<key>hash2</key>
247
+			<data>
248
+			VkMu2v4CZSBLhGWCJdxdAPzVFOgUvVyyxpdwmfAnWrY=
249
+			</data>
250
+		</dict>
251
+		<key>Headers/FlutterViewController.h</key>
252
+		<dict>
253
+			<key>hash</key>
254
+			<data>
255
+			Q3r7sTHoNIBT8yAHHi1CJOHApog=
256
+			</data>
257
+			<key>hash2</key>
258
+			<data>
259
+			TEZV6yflvdLz+8NOLbYifS8EwNzhPtmGY7HU0bFzNAk=
260
+			</data>
261
+		</dict>
262
+		<key>Modules/module.modulemap</key>
263
+		<dict>
264
+			<key>hash</key>
265
+			<data>
266
+			wJV5dCKEGl+FAtDc8wJJh/fvKXs=
267
+			</data>
268
+			<key>hash2</key>
269
+			<data>
270
+			0VjriRpZ7AZZaP/0mMAPMJPhi6LoMB4MhXzL5j24tGs=
271
+			</data>
272
+		</dict>
273
+		<key>icudtl.dat</key>
274
+		<dict>
275
+			<key>hash</key>
276
+			<data>
277
+			1QumeTTkdhWvmY7i40QoJewEapE=
278
+			</data>
279
+			<key>hash2</key>
280
+			<data>
281
+			Y7sS66zRuTsBvhoY8E7AmSrn+3DMMIOCUocmE2apBcw=
282
+			</data>
283
+		</dict>
284
+	</dict>
285
+	<key>rules</key>
286
+	<dict>
287
+		<key>^.*</key>
288
+		<true/>
289
+		<key>^.*\.lproj/</key>
290
+		<dict>
291
+			<key>optional</key>
292
+			<true/>
293
+			<key>weight</key>
294
+			<real>1000</real>
295
+		</dict>
296
+		<key>^.*\.lproj/locversion.plist$</key>
297
+		<dict>
298
+			<key>omit</key>
299
+			<true/>
300
+			<key>weight</key>
301
+			<real>1100</real>
302
+		</dict>
303
+		<key>^Base\.lproj/</key>
304
+		<dict>
305
+			<key>weight</key>
306
+			<real>1010</real>
307
+		</dict>
308
+		<key>^version.plist$</key>
309
+		<true/>
310
+	</dict>
311
+	<key>rules2</key>
312
+	<dict>
313
+		<key>.*\.dSYM($|/)</key>
314
+		<dict>
315
+			<key>weight</key>
316
+			<real>11</real>
317
+		</dict>
318
+		<key>^(.*/)?\.DS_Store$</key>
319
+		<dict>
320
+			<key>omit</key>
321
+			<true/>
322
+			<key>weight</key>
323
+			<real>2000</real>
324
+		</dict>
325
+		<key>^.*</key>
326
+		<true/>
327
+		<key>^.*\.lproj/</key>
328
+		<dict>
329
+			<key>optional</key>
330
+			<true/>
331
+			<key>weight</key>
332
+			<real>1000</real>
333
+		</dict>
334
+		<key>^.*\.lproj/locversion.plist$</key>
335
+		<dict>
336
+			<key>omit</key>
337
+			<true/>
338
+			<key>weight</key>
339
+			<real>1100</real>
340
+		</dict>
341
+		<key>^Base\.lproj/</key>
342
+		<dict>
343
+			<key>weight</key>
344
+			<real>1010</real>
345
+		</dict>
346
+		<key>^Info\.plist$</key>
347
+		<dict>
348
+			<key>omit</key>
349
+			<true/>
350
+			<key>weight</key>
351
+			<real>20</real>
352
+		</dict>
353
+		<key>^PkgInfo$</key>
354
+		<dict>
355
+			<key>omit</key>
356
+			<true/>
357
+			<key>weight</key>
358
+			<real>20</real>
359
+		</dict>
360
+		<key>^embedded\.provisionprofile$</key>
361
+		<dict>
362
+			<key>weight</key>
363
+			<real>20</real>
364
+		</dict>
365
+		<key>^version\.plist$</key>
366
+		<dict>
367
+			<key>weight</key>
368
+			<real>20</real>
369
+		</dict>
370
+	</dict>
371
+</dict>
372
+</plist>

BIN
ios/Flutter/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/icudtl.dat View File


BIN
ios/Flutter/gen_snapshot_arm64 View File


BIN
ios/Flutter/gen_snapshot_armv7 View File


+ 8
- 0
ios/Podfile View File

@@ -37,5 +37,13 @@ end
37 37
 post_install do |installer|
38 38
   installer.pods_project.targets.each do |target|
39 39
     flutter_additional_ios_build_settings(target)
40
+    target.build_configurations.each do |config|
41
+      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
42
+        '$(inherited)',
43
+
44
+        ## dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
45
+        'PERMISSION_LOCATION=1',
46
+      ]
47
+    end
40 48
   end
41 49
 end

+ 8
- 2
ios/Runner.xcodeproj/project.pbxproj View File

@@ -3,7 +3,7 @@
3 3
 	archiveVersion = 1;
4 4
 	classes = {
5 5
 	};
6
-	objectVersion = 51;
6
+	objectVersion = 54;
7 7
 	objects = {
8 8
 
9 9
 /* Begin PBXBuildFile section */
@@ -263,7 +263,7 @@
263 263
 			);
264 264
 			runOnlyForDeploymentPostprocessing = 0;
265 265
 			shellPath = /bin/sh;
266
-			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
266
+			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
267 267
 		};
268 268
 		B89AE0CD1A1721C9AC3B189C /* [CP] Copy Pods Resources */ = {
269 269
 			isa = PBXShellScriptBuildPhase;
@@ -373,8 +373,10 @@
373 373
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
374 374
 				CLANG_ENABLE_MODULES = YES;
375 375
 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
376
+				DEVELOPMENT_TEAM = W48DPW925L;
376 377
 				ENABLE_BITCODE = NO;
377 378
 				INFOPLIST_FILE = Runner/Info.plist;
379
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
378 380
 				LD_RUNPATH_SEARCH_PATHS = (
379 381
 					"$(inherited)",
380 382
 					"@executable_path/Frameworks",
@@ -501,8 +503,10 @@
501 503
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
502 504
 				CLANG_ENABLE_MODULES = YES;
503 505
 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
506
+				DEVELOPMENT_TEAM = W48DPW925L;
504 507
 				ENABLE_BITCODE = NO;
505 508
 				INFOPLIST_FILE = Runner/Info.plist;
509
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
506 510
 				LD_RUNPATH_SEARCH_PATHS = (
507 511
 					"$(inherited)",
508 512
 					"@executable_path/Frameworks",
@@ -523,8 +527,10 @@
523 527
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
524 528
 				CLANG_ENABLE_MODULES = YES;
525 529
 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
530
+				DEVELOPMENT_TEAM = W48DPW925L;
526 531
 				ENABLE_BITCODE = NO;
527 532
 				INFOPLIST_FILE = Runner/Info.plist;
533
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
528 534
 				LD_RUNPATH_SEARCH_PATHS = (
529 535
 					"$(inherited)",
530 536
 					"@executable_path/Frameworks",

+ 77
- 87
ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme View File

@@ -1,87 +1,77 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<Scheme
3
-   LastUpgradeVersion = "1300"
4
-   version = "1.3">
5
-   <BuildAction
6
-      parallelizeBuildables = "YES"
7
-      buildImplicitDependencies = "YES">
8
-      <BuildActionEntries>
9
-         <BuildActionEntry
10
-            buildForTesting = "YES"
11
-            buildForRunning = "YES"
12
-            buildForProfiling = "YES"
13
-            buildForArchiving = "YES"
14
-            buildForAnalyzing = "YES">
15
-            <BuildableReference
16
-               BuildableIdentifier = "primary"
17
-               BlueprintIdentifier = "97C146ED1CF9000F007C117D"
18
-               BuildableName = "Runner.app"
19
-               BlueprintName = "Runner"
20
-               ReferencedContainer = "container:Runner.xcodeproj">
21
-            </BuildableReference>
22
-         </BuildActionEntry>
23
-      </BuildActionEntries>
24
-   </BuildAction>
25
-   <TestAction
26
-      buildConfiguration = "Debug"
27
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
-      shouldUseLaunchSchemeArgsEnv = "YES">
30
-      <MacroExpansion>
31
-         <BuildableReference
32
-            BuildableIdentifier = "primary"
33
-            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
34
-            BuildableName = "Runner.app"
35
-            BlueprintName = "Runner"
36
-            ReferencedContainer = "container:Runner.xcodeproj">
37
-         </BuildableReference>
38
-      </MacroExpansion>
39
-      <Testables>
40
-      </Testables>
41
-   </TestAction>
42
-   <LaunchAction
43
-      buildConfiguration = "Debug"
44
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
45
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
46
-      launchStyle = "0"
47
-      useCustomWorkingDirectory = "NO"
48
-      ignoresPersistentStateOnLaunch = "NO"
49
-      debugDocumentVersioning = "YES"
50
-      debugServiceExtension = "internal"
51
-      allowLocationSimulation = "YES">
52
-      <BuildableProductRunnable
53
-         runnableDebuggingMode = "0">
54
-         <BuildableReference
55
-            BuildableIdentifier = "primary"
56
-            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
57
-            BuildableName = "Runner.app"
58
-            BlueprintName = "Runner"
59
-            ReferencedContainer = "container:Runner.xcodeproj">
60
-         </BuildableReference>
61
-      </BuildableProductRunnable>
62
-   </LaunchAction>
63
-   <ProfileAction
64
-      buildConfiguration = "Profile"
65
-      shouldUseLaunchSchemeArgsEnv = "YES"
66
-      savedToolIdentifier = ""
67
-      useCustomWorkingDirectory = "NO"
68
-      debugDocumentVersioning = "YES">
69
-      <BuildableProductRunnable
70
-         runnableDebuggingMode = "0">
71
-         <BuildableReference
72
-            BuildableIdentifier = "primary"
73
-            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
74
-            BuildableName = "Runner.app"
75
-            BlueprintName = "Runner"
76
-            ReferencedContainer = "container:Runner.xcodeproj">
77
-         </BuildableReference>
78
-      </BuildableProductRunnable>
79
-   </ProfileAction>
80
-   <AnalyzeAction
81
-      buildConfiguration = "Debug">
82
-   </AnalyzeAction>
83
-   <ArchiveAction
84
-      buildConfiguration = "Release"
85
-      revealArchiveInOrganizer = "YES">
86
-   </ArchiveAction>
87
-</Scheme>
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Scheme
3
+   LastUpgradeVersion = "1300"
4
+   version = "1.7">
5
+   <BuildAction
6
+      parallelizeBuildables = "YES"
7
+      buildImplicitDependencies = "YES">
8
+      <BuildActionEntries>
9
+         <BuildActionEntry
10
+            buildForTesting = "YES"
11
+            buildForRunning = "YES"
12
+            buildForProfiling = "YES"
13
+            buildForArchiving = "YES"
14
+            buildForAnalyzing = "YES">
15
+            <BuildableReference
16
+               BuildableIdentifier = "primary"
17
+               BlueprintIdentifier = "97C146ED1CF9000F007C117D"
18
+               BuildableName = "Runner.app"
19
+               BlueprintName = "Runner"
20
+               ReferencedContainer = "container:Runner.xcodeproj">
21
+            </BuildableReference>
22
+         </BuildActionEntry>
23
+      </BuildActionEntries>
24
+   </BuildAction>
25
+   <TestAction
26
+      buildConfiguration = "Debug"
27
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+      shouldUseLaunchSchemeArgsEnv = "YES"
30
+      shouldAutocreateTestPlan = "YES">
31
+   </TestAction>
32
+   <LaunchAction
33
+      buildConfiguration = "Release"
34
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
35
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
36
+      launchStyle = "0"
37
+      useCustomWorkingDirectory = "NO"
38
+      ignoresPersistentStateOnLaunch = "NO"
39
+      debugDocumentVersioning = "YES"
40
+      debugServiceExtension = "internal"
41
+      allowLocationSimulation = "YES">
42
+      <BuildableProductRunnable
43
+         runnableDebuggingMode = "0">
44
+         <BuildableReference
45
+            BuildableIdentifier = "primary"
46
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
47
+            BuildableName = "Runner.app"
48
+            BlueprintName = "Runner"
49
+            ReferencedContainer = "container:Runner.xcodeproj">
50
+         </BuildableReference>
51
+      </BuildableProductRunnable>
52
+   </LaunchAction>
53
+   <ProfileAction
54
+      buildConfiguration = "Release"
55
+      shouldUseLaunchSchemeArgsEnv = "YES"
56
+      savedToolIdentifier = ""
57
+      useCustomWorkingDirectory = "NO"
58
+      debugDocumentVersioning = "YES">
59
+      <BuildableProductRunnable
60
+         runnableDebuggingMode = "0">
61
+         <BuildableReference
62
+            BuildableIdentifier = "primary"
63
+            BlueprintIdentifier = "97C146ED1CF9000F007C117D"
64
+            BuildableName = "Runner.app"
65
+            BlueprintName = "Runner"
66
+            ReferencedContainer = "container:Runner.xcodeproj">
67
+         </BuildableReference>
68
+      </BuildableProductRunnable>
69
+   </ProfileAction>
70
+   <AnalyzeAction
71
+      buildConfiguration = "Debug">
72
+   </AnalyzeAction>
73
+   <ArchiveAction
74
+      buildConfiguration = "Release"
75
+      revealArchiveInOrganizer = "YES">
76
+   </ArchiveAction>
77
+</Scheme>

+ 120
- 122
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json View File

@@ -1,122 +1,120 @@
1
-{
2
-  "images" : [
3
-    {
4
-      "size" : "20x20",
5
-      "idiom" : "iphone",
6
-      "filename" : "Icon-App-20x20@2x.png",
7
-      "scale" : "2x"
8
-    },
9
-    {
10
-      "size" : "20x20",
11
-      "idiom" : "iphone",
12
-      "filename" : "Icon-App-20x20@3x.png",
13
-      "scale" : "3x"
14
-    },
15
-    {
16
-      "size" : "29x29",
17
-      "idiom" : "iphone",
18
-      "filename" : "Icon-App-29x29@1x.png",
19
-      "scale" : "1x"
20
-    },
21
-    {
22
-      "size" : "29x29",
23
-      "idiom" : "iphone",
24
-      "filename" : "Icon-App-29x29@2x.png",
25
-      "scale" : "2x"
26
-    },
27
-    {
28
-      "size" : "29x29",
29
-      "idiom" : "iphone",
30
-      "filename" : "Icon-App-29x29@3x.png",
31
-      "scale" : "3x"
32
-    },
33
-    {
34
-      "size" : "40x40",
35
-      "idiom" : "iphone",
36
-      "filename" : "Icon-App-40x40@2x.png",
37
-      "scale" : "2x"
38
-    },
39
-    {
40
-      "size" : "40x40",
41
-      "idiom" : "iphone",
42
-      "filename" : "Icon-App-40x40@3x.png",
43
-      "scale" : "3x"
44
-    },
45
-    {
46
-      "size" : "60x60",
47
-      "idiom" : "iphone",
48
-      "filename" : "Icon-App-60x60@2x.png",
49
-      "scale" : "2x"
50
-    },
51
-    {
52
-      "size" : "60x60",
53
-      "idiom" : "iphone",
54
-      "filename" : "Icon-App-60x60@3x.png",
55
-      "scale" : "3x"
56
-    },
57
-    {
58
-      "size" : "20x20",
59
-      "idiom" : "ipad",
60
-      "filename" : "Icon-App-20x20@1x.png",
61
-      "scale" : "1x"
62
-    },
63
-    {
64
-      "size" : "20x20",
65
-      "idiom" : "ipad",
66
-      "filename" : "Icon-App-20x20@2x.png",
67
-      "scale" : "2x"
68
-    },
69
-    {
70
-      "size" : "29x29",
71
-      "idiom" : "ipad",
72
-      "filename" : "Icon-App-29x29@1x.png",
73
-      "scale" : "1x"
74
-    },
75
-    {
76
-      "size" : "29x29",
77
-      "idiom" : "ipad",
78
-      "filename" : "Icon-App-29x29@2x.png",
79
-      "scale" : "2x"
80
-    },
81
-    {
82
-      "size" : "40x40",
83
-      "idiom" : "ipad",
84
-      "filename" : "Icon-App-40x40@1x.png",
85
-      "scale" : "1x"
86
-    },
87
-    {
88
-      "size" : "40x40",
89
-      "idiom" : "ipad",
90
-      "filename" : "Icon-App-40x40@2x.png",
91
-      "scale" : "2x"
92
-    },
93
-    {
94
-      "size" : "76x76",
95
-      "idiom" : "ipad",
96
-      "filename" : "Icon-App-76x76@1x.png",
97
-      "scale" : "1x"
98
-    },
99
-    {
100
-      "size" : "76x76",
101
-      "idiom" : "ipad",
102
-      "filename" : "Icon-App-76x76@2x.png",
103
-      "scale" : "2x"
104
-    },
105
-    {
106
-      "size" : "83.5x83.5",
107
-      "idiom" : "ipad",
108
-      "filename" : "Icon-App-83.5x83.5@2x.png",
109
-      "scale" : "2x"
110
-    },
111
-    {
112
-      "size" : "1024x1024",
113
-      "idiom" : "ios-marketing",
114
-      "filename" : "Icon-App-1024x1024@1x.png",
115
-      "scale" : "1x"
116
-    }
117
-  ],
118
-  "info" : {
119
-    "version" : 1,
120
-    "author" : "xcode"
121
-  }
122
-}
1
+{
2
+    "images": [
3
+        {
4
+            "size": "20x20",
5
+            "idiom": "universal",
6
+            "filename": "icon-20@2x.png",
7
+            "scale": "2x",
8
+            "platform": "ios"
9
+        },
10
+        {
11
+            "size": "20x20",
12
+            "idiom": "universal",
13
+            "filename": "icon-20@3x.png",
14
+            "scale": "3x",
15
+            "platform": "ios"
16
+        },
17
+        {
18
+            "size": "29x29",
19
+            "idiom": "universal",
20
+            "filename": "icon-29@2x.png",
21
+            "scale": "2x",
22
+            "platform": "ios"
23
+        },
24
+        {
25
+            "size": "29x29",
26
+            "idiom": "universal",
27
+            "filename": "icon-29@3x.png",
28
+            "scale": "3x",
29
+            "platform": "ios"
30
+        },
31
+        {
32
+            "size": "38x38",
33
+            "idiom": "universal",
34
+            "filename": "icon-38@2x.png",
35
+            "scale": "2x",
36
+            "platform": "ios"
37
+        },
38
+        {
39
+            "size": "38x38",
40
+            "idiom": "universal",
41
+            "filename": "icon-38@3x.png",
42
+            "scale": "3x",
43
+            "platform": "ios"
44
+        },
45
+        {
46
+            "size": "40x40",
47
+            "idiom": "universal",
48
+            "filename": "icon-40@2x.png",
49
+            "scale": "2x",
50
+            "platform": "ios"
51
+        },
52
+        {
53
+            "size": "40x40",
54
+            "idiom": "universal",
55
+            "filename": "icon-40@3x.png",
56
+            "scale": "3x",
57
+            "platform": "ios"
58
+        },
59
+        {
60
+            "size": "60x60",
61
+            "idiom": "universal",
62
+            "filename": "icon-60@2x.png",
63
+            "scale": "2x",
64
+            "platform": "ios"
65
+        },
66
+        {
67
+            "size": "60x60",
68
+            "idiom": "universal",
69
+            "filename": "icon-60@3x.png",
70
+            "scale": "3x",
71
+            "platform": "ios"
72
+        },
73
+        {
74
+            "size": "64x64",
75
+            "idiom": "universal",
76
+            "filename": "icon-64@2x.png",
77
+            "scale": "2x",
78
+            "platform": "ios"
79
+        },
80
+        {
81
+            "size": "64x64",
82
+            "idiom": "universal",
83
+            "filename": "icon-64@3x.png",
84
+            "scale": "3x",
85
+            "platform": "ios"
86
+        },
87
+        {
88
+            "size": "68x68",
89
+            "idiom": "universal",
90
+            "filename": "icon-68@2x.png",
91
+            "scale": "2x",
92
+            "platform": "ios"
93
+        },
94
+        {
95
+            "size": "76x76",
96
+            "idiom": "universal",
97
+            "filename": "icon-76@2x.png",
98
+            "scale": "2x",
99
+            "platform": "ios"
100
+        },
101
+        {
102
+            "size": "83.5x83.5",
103
+            "idiom": "universal",
104
+            "filename": "icon-83.5@2x.png",
105
+            "scale": "2x",
106
+            "platform": "ios"
107
+        },
108
+        {
109
+            "size": "1024x1024",
110
+            "idiom": "universal",
111
+            "filename": "icon-1024.png",
112
+            "scale": "1x",
113
+            "platform": "ios"
114
+        }
115
+    ],
116
+    "info": {
117
+        "version": 1,
118
+        "author": "icon.wuruihong.com"
119
+    }
120
+}

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-38@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-38@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-64@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-64@3x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-68@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png View File


BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png View File


+ 3
- 3
ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json View File

@@ -2,17 +2,17 @@
2 2
   "images" : [
3 3
     {
4 4
       "idiom" : "universal",
5
-      "filename" : "LaunchImage.png",
5
+      "filename" : "launch_image.png",
6 6
       "scale" : "1x"
7 7
     },
8 8
     {
9 9
       "idiom" : "universal",
10
-      "filename" : "LaunchImage@2x.png",
10
+      "filename" : "launch_image.png",
11 11
       "scale" : "2x"
12 12
     },
13 13
     {
14 14
       "idiom" : "universal",
15
-      "filename" : "LaunchImage@3x.png",
15
+      "filename" : "launch_image.png",
16 16
       "scale" : "3x"
17 17
     }
18 18
   ],

BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png View File


BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png View File


BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png View File


BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/launch_image.png View File


+ 51
- 37
ios/Runner/Base.lproj/LaunchScreen.storyboard View File

@@ -1,37 +1,51 @@
1
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3
-    <dependencies>
4
-        <deployment identifier="iOS"/>
5
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
6
-    </dependencies>
7
-    <scenes>
8
-        <!--View Controller-->
9
-        <scene sceneID="EHf-IW-A2E">
10
-            <objects>
11
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
12
-                    <layoutGuides>
13
-                        <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
14
-                        <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
15
-                    </layoutGuides>
16
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
17
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
18
-                        <subviews>
19
-                            <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
20
-                            </imageView>
21
-                        </subviews>
22
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
23
-                        <constraints>
24
-                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
25
-                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
26
-                        </constraints>
27
-                    </view>
28
-                </viewController>
29
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
30
-            </objects>
31
-            <point key="canvasLocation" x="53" y="375"/>
32
-        </scene>
33
-    </scenes>
34
-    <resources>
35
-        <image name="LaunchImage" width="168" height="185"/>
36
-    </resources>
37
-</document>
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
3
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
4
+    <dependencies>
5
+        <deployment identifier="iOS"/>
6
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
7
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
8
+    </dependencies>
9
+    <scenes>
10
+        <!--View Controller-->
11
+        <scene sceneID="EHf-IW-A2E">
12
+            <objects>
13
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
14
+                    <layoutGuides>
15
+                        <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
16
+                        <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
17
+                    </layoutGuides>
18
+                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
19
+                        <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
20
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
21
+                        <subviews>
22
+                            <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" misplaced="YES" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
23
+                                <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
24
+                            </imageView>
25
+                        </subviews>
26
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
27
+                        <constraints>
28
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
29
+                            <constraint firstAttribute="trailing" secondItem="YRO-k0-Ey4" secondAttribute="trailing" id="2Ir-dr-I9E"/>
30
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
31
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leadingMargin" id="8WK-cp-N0P"/>
32
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leadingMargin" id="OLO-Ah-HPe"/>
33
+                            <constraint firstAttribute="trailingMargin" secondItem="YRO-k0-Ey4" secondAttribute="trailing" id="UbQ-0P-5bg"/>
34
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="top" secondItem="Ydg-fD-yQy" secondAttribute="bottom" id="dET-yY-y60"/>
35
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="trailing" secondItem="Ze5-6b-2t3" secondAttribute="trailingMargin" id="g8F-BY-1KV"/>
36
+                            <constraint firstItem="xbc-2k-c8Z" firstAttribute="top" secondItem="YRO-k0-Ey4" secondAttribute="bottom" id="pVb-at-qAM"/>
37
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="top" secondItem="Ydg-fD-yQy" secondAttribute="bottom" id="pd6-Dh-xkO"/>
38
+                            <constraint firstItem="YRO-k0-Ey4" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="rlJ-WX-BcC"/>
39
+                            <constraint firstItem="xbc-2k-c8Z" firstAttribute="top" secondItem="YRO-k0-Ey4" secondAttribute="bottom" id="yaO-o1-vZv"/>
40
+                        </constraints>
41
+                    </view>
42
+                </viewController>
43
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
44
+            </objects>
45
+            <point key="canvasLocation" x="80.152671755725194" y="264.08450704225356"/>
46
+        </scene>
47
+    </scenes>
48
+    <resources>
49
+        <image name="LaunchImage" width="250" height="541.33331298828125"/>
50
+    </resources>
51
+</document>

+ 29
- 26
ios/Runner/Base.lproj/Main.storyboard View File

@@ -1,26 +1,29 @@
1
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
3
-    <dependencies>
4
-        <deployment identifier="iOS"/>
5
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
6
-    </dependencies>
7
-    <scenes>
8
-        <!--Flutter View Controller-->
9
-        <scene sceneID="tne-QT-ifu">
10
-            <objects>
11
-                <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
12
-                    <layoutGuides>
13
-                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
14
-                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
15
-                    </layoutGuides>
16
-                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
17
-                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
18
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
19
-                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
20
-                    </view>
21
-                </viewController>
22
-                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
23
-            </objects>
24
-        </scene>
25
-    </scenes>
26
-</document>
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
3
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
4
+    <dependencies>
5
+        <deployment identifier="iOS"/>
6
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
7
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
8
+    </dependencies>
9
+    <scenes>
10
+        <!--Flutter View Controller-->
11
+        <scene sceneID="tne-QT-ifu">
12
+            <objects>
13
+                <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
14
+                    <layoutGuides>
15
+                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
16
+                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
17
+                    </layoutGuides>
18
+                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
19
+                        <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
20
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
21
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
22
+                    </view>
23
+                </viewController>
24
+                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
25
+            </objects>
26
+            <point key="canvasLocation" x="-26" y="-76"/>
27
+        </scene>
28
+    </scenes>
29
+</document>

+ 17
- 12
ios/Runner/Info.plist View File

@@ -2,10 +2,12 @@
2 2
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 3
 <plist version="1.0">
4 4
 <dict>
5
+	<key>CADisableMinimumFrameDurationOnPhone</key>
6
+	<true/>
5 7
 	<key>CFBundleDevelopmentRegion</key>
6 8
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
7 9
 	<key>CFBundleDisplayName</key>
8
-	<string>Farmer Client</string>
10
+	<string>农忙助手</string>
9 11
 	<key>CFBundleExecutable</key>
10 12
 	<string>$(EXECUTABLE_NAME)</string>
11 13
 	<key>CFBundleIdentifier</key>
@@ -24,12 +26,23 @@
24 26
 	<string>$(FLUTTER_BUILD_NUMBER)</string>
25 27
 	<key>LSRequiresIPhoneOS</key>
26 28
 	<true/>
29
+	<key>NSAppTransportSecurity</key>
30
+	<dict>
31
+		<key>NSAllowsArbitraryLoads</key>
32
+		<true/>
33
+	</dict>
34
+	<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
35
+	<string>需要您提供定位信息,才能使用获取您附近的农机</string>
36
+	<key>NSLocationAlwaysUsageDescription</key>
37
+	<string>需要您提供后台定位信息,才能使用获取您附近的农机</string>
38
+	<key>NSLocationUsageDescription</key>
39
+	<string>需要您提供定位信息,才能使用获取您附近的农机</string>
40
+	<key>NSLocationWhenInUseUsageDescription</key>
41
+	<string>需要您提供定位信息,才能使用获取您附近的农机</string>
27 42
 	<key>UILaunchStoryboardName</key>
28 43
 	<string>LaunchScreen</string>
29 44
 	<key>UIMainStoryboardFile</key>
30 45
 	<string>Main</string>
31
-	<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
32
-	<string>需要您提供定位信息,才能使用获取您附近的农机</string>
33 46
 	<key>UISupportedInterfaceOrientations</key>
34 47
 	<array>
35 48
 		<string>UIInterfaceOrientationPortrait</string>
@@ -45,15 +58,7 @@
45 58
 	</array>
46 59
 	<key>UIViewControllerBasedStatusBarAppearance</key>
47 60
 	<false/>
48
-	<key>CADisableMinimumFrameDurationOnPhone</key>
49
-	<true/>
50 61
 	<key>io.flutter.embedded_views_preview</key>
51
-	<string>YES</string>	
52
-	<key>NSLocationAlwaysUsageDescription</key>
53
-	<string>需要您提供后台定位信息,才能使用获取您附近的农机</string>
54
-	<key>NSLocationUsageDescription</key>
55
-	<string>需要您提供定位信息,才能使用获取您附近的农机</string>
56
-	<key>NSLocationWhenInUseUsageDescription</key>
57
-	<string>需要您提供定位信息,才能使用获取您附近的农机</string>
62
+	<string>YES</string>
58 63
 </dict>
59 64
 </plist>

+ 2
- 2
lib/models/app.dart View File

@@ -22,8 +22,8 @@ class AppController extends GetxController {
22 22
     if (null == location.value) return null;
23 23
 
24 24
     // 不知道什么问题, 模拟器中 lng 是负值
25
-    double longitude = (location.value!['longitude'] as double).abs();
26
-    double latitude = (location.value!['latitude'] as double).abs();
25
+    String longitude = location.value!['longitude'] as String;
26
+    String latitude = location.value!['latitude'] as String;
27 27
 
28 28
     return longitude.toString() + "," + latitude.toString();
29 29
   }

+ 4
- 4
lib/routes/middleWares.dart View File

@@ -21,18 +21,18 @@ void routingCallback(routing) {
21 21
 
22 22
       // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
23 23
       // https://github.com/jonataslaw/getx/issues/262
24
-      SchedulerBinding.instance?.addPostFrameCallback((_) => Get.offNamed('/login'));
24
+      SchedulerBinding.instance
25
+          ?.addPostFrameCallback((_) => Get.offNamed('/login'));
25 26
     }
26 27
   }
27 28
 
28
-
29 29
   // bool isLogin = box.hasData('token');
30 30
   // bool isSplashScreen = routing?.current == '/splash';
31 31
   // bool isLoginPage = routing?.current == '/login';
32 32
   // bool isAgreementPage = routing?.current == '/agreement';
33 33
   // if (!isLogin && !isSplashScreen && !isLoginPage&&!isAgreementPage) {
34
-    // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
35
-    // https://github.com/jonataslaw/getx/issues/262
34
+  // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
35
+  // https://github.com/jonataslaw/getx/issues/262
36 36
   //   SchedulerBinding.instance?.addPostFrameCallback((_) => Get.offNamed('/login'));
37 37
   // }
38 38
 }

+ 2
- 1
lib/utils/amap/const_config.dart View File

@@ -7,7 +7,8 @@ class ConstConfig {
7 7
   ///注意:使用[AMapWidget]的`apiKey`属性设置的key的优先级高于通过Native配置key的优先级,
8 8
   ///使用[AMapWidget]的`apiKey`属性配置后Native配置的key将失效,请根据实际情况选择使用
9 9
   static const AMapApiKey amapApiKeys = AMapApiKey(
10
-      androidKey: 'b481b4187e24e625fa0056fd0530e663', iosKey: '您申请的iOS平台的key');
10
+      androidKey: 'b481b4187e24e625fa0056fd0530e663',
11
+      iosKey: 'a9a54283083e0f1677ffc3b1324b15a4');
11 12
 
12 13
   ///高德隐私合规声明,这里只是示例,实际使用中请按照实际参数设置[AMapPrivacyStatement]的'hasContains''hasShow''hasAgree'这三个参数
13 14
   ///

+ 33
- 1
lib/utils/location.dart View File

@@ -56,7 +56,8 @@ Future requireLocation(AMAPListener listener) async {
56 56
   AMapFlutterLocation.setApiKey(
57 57
       ConstConfig.amapApiKeys.androidKey!, ConstConfig.amapApiKeys.iosKey!);
58 58
   showPrivacy();
59
-  await _requirePermission();
59
+  // await _requirePermission();
60
+  await checkPermission();
60 61
   final AMapFlutterLocation location = AMapFlutterLocation();
61 62
   location.onLocationChanged().listen(listener);
62 63
   location.setLocationOption(_getAMapLocationOption());
@@ -141,3 +142,34 @@ _getAMapLocationOption() {
141 142
 //
142 143
 //   return location;
143 144
 // }
145
+
146
+//判断是否有权限
147
+Future checkPermission() async {
148
+  Permission permission = Permission.locationAlways;
149
+  PermissionStatus status = await permission.status;
150
+  print('检测权限 $status');
151
+  if (status.isGranted) {
152
+    //权限通过
153
+  } else if (status.isDenied) {
154
+    //权限拒绝, 需要区分IOS和Android,二者不一样
155
+    requestPermission(permission);
156
+  } else if (status.isPermanentlyDenied) {
157
+    //权限永久拒绝,且不在提示,需要进入设置界面
158
+    openAppSettings();
159
+  } else if (status.isRestricted) {
160
+    //活动限制(例如,设置了家长///控件,仅在iOS以上受支持。
161
+    openAppSettings();
162
+  } else {
163
+    //第一次申请
164
+    requestPermission(permission);
165
+  }
166
+}
167
+
168
+//申请权限
169
+Future requestPermission(Permission permission) async {
170
+  PermissionStatus status = await permission.request();
171
+  print('权限状态 $status');
172
+  if (!status.isGranted) {
173
+    openAppSettings();
174
+  }
175
+}