diff --git a/.gitignore b/.gitignore index 79c113f9..3c4ac508 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,8 @@ app.*.map.json /android/app/debug /android/app/profile /android/app/release + +/ios/ +/ios/Penguin.xcframework/ +/ios/PenguinINRenderer.xcframework/ +/ios/PenNavUI.xcframework/ diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 783f7639..c1045afb 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -11,13 +11,34 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 478CFA942E638C8E0064F3D7 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 478CFA932E638C8E0064F3D7 /* GoogleService-Info.plist */; }; - 5D5A1F80D389375644C4D0DC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56E413AB2A2E9765749CACD1 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7676C293308F37EA004CF793 /* PenguinViewFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C291308F37EA004CF793 /* PenguinViewFactory.swift */; }; + 7676C294308F37EA004CF793 /* PenguinView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C290308F37EA004CF793 /* PenguinView.swift */; }; + 7676C295308F37EA004CF793 /* PenguinModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C28D308F37EA004CF793 /* PenguinModel.swift */; }; + 7676C296308F37EA004CF793 /* PenguinNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C28E308F37EA004CF793 /* PenguinNavigator.swift */; }; + 7676C297308F37EA004CF793 /* PenguinPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C28F308F37EA004CF793 /* PenguinPlugin.swift */; }; + 7676C2A9308F394F004CF793 /* HMGPenguinInPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A4308F394F004CF793 /* HMGPenguinInPlatformBridge.swift */; }; + 7676C2AA308F394F004CF793 /* HMG_Geofence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A3308F394F004CF793 /* HMG_Geofence.swift */; }; + 7676C2AB308F394F004CF793 /* LocalizedFromFlutter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A6308F394F004CF793 /* LocalizedFromFlutter.swift */; }; + 7676C2AC308F394F004CF793 /* GlobalHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A2308F394F004CF793 /* GlobalHelper.swift */; }; + 7676C2AD308F394F004CF793 /* HMGPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A5308F394F004CF793 /* HMGPlatformBridge.swift */; }; + 7676C2AE308F394F004CF793 /* API.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C29E308F394F004CF793 /* API.swift */; }; + 7676C2AF308F394F004CF793 /* FlutterConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A0308F394F004CF793 /* FlutterConstants.swift */; }; + 7676C2B0308F394F004CF793 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C29F308F394F004CF793 /* Extensions.swift */; }; + 7676C2B1308F394F004CF793 /* GeoZoneModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A1308F394F004CF793 /* GeoZoneModel.swift */; }; + 7676C2B2308F394F004CF793 /* OpenTokPlatformBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7676C2A7308F394F004CF793 /* OpenTokPlatformBridge.swift */; }; + 7676C2C5308F3D02004CF793 /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7676C2BF308F3C52004CF793 /* Penguin.xcframework */; }; + 7676C2C6308F3D02004CF793 /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7676C2BF308F3C52004CF793 /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7676C2C7308F3D03004CF793 /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7676C2C0308F3C52004CF793 /* PenguinINRenderer.xcframework */; }; + 7676C2C8308F3D03004CF793 /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7676C2C0308F3C52004CF793 /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7676C2C9308F3D04004CF793 /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7676C2C1308F3C52004CF793 /* PenNavUI.xcframework */; }; + 7676C2CA308F3D04004CF793 /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7676C2C1308F3C52004CF793 /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 76AA18AE2F3B2A4D00DC8DFC /* ring_30Sec.caf in Resources */ = {isa = PBXBuildFile; fileRef = 76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */; }; 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + E770DD0A01C1858ADA957540 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09A5B486A6530B3BB024E598 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -37,6 +58,9 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 7676C2C8308F3D03004CF793 /* PenguinINRenderer.xcframework in Embed Frameworks */, + 7676C2C6308F3D02004CF793 /* Penguin.xcframework in Embed Frameworks */, + 7676C2CA308F3D04004CF793 /* PenNavUI.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -54,23 +78,43 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 09A5B486A6530B3BB024E598 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 21DDD86357889D25E534D20D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 478CFA932E638C8E0064F3D7 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 478CFA952E6E20A60064F3D7 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; - 56E413AB2A2E9765749CACD1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7676C28D308F37EA004CF793 /* PenguinModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinModel.swift; sourceTree = ""; }; + 7676C28E308F37EA004CF793 /* PenguinNavigator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinNavigator.swift; sourceTree = ""; }; + 7676C28F308F37EA004CF793 /* PenguinPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinPlugin.swift; sourceTree = ""; }; + 7676C290308F37EA004CF793 /* PenguinView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinView.swift; sourceTree = ""; }; + 7676C291308F37EA004CF793 /* PenguinViewFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinViewFactory.swift; sourceTree = ""; }; + 7676C29E308F394F004CF793 /* API.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = API.swift; sourceTree = ""; }; + 7676C29F308F394F004CF793 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; + 7676C2A0308F394F004CF793 /* FlutterConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlutterConstants.swift; sourceTree = ""; }; + 7676C2A1308F394F004CF793 /* GeoZoneModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GeoZoneModel.swift; sourceTree = ""; }; + 7676C2A2308F394F004CF793 /* GlobalHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalHelper.swift; sourceTree = ""; }; + 7676C2A3308F394F004CF793 /* HMG_Geofence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMG_Geofence.swift; sourceTree = ""; }; + 7676C2A4308F394F004CF793 /* HMGPenguinInPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMGPenguinInPlatformBridge.swift; sourceTree = ""; }; + 7676C2A5308F394F004CF793 /* HMGPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HMGPlatformBridge.swift; sourceTree = ""; }; + 7676C2A6308F394F004CF793 /* LocalizedFromFlutter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizedFromFlutter.swift; sourceTree = ""; }; + 7676C2A7308F394F004CF793 /* OpenTokPlatformBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenTokPlatformBridge.swift; sourceTree = ""; }; + 7676C2BF308F3C52004CF793 /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Penguin.xcframework; sourceTree = ""; }; + 7676C2C0308F3C52004CF793 /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenguinINRenderer.xcframework; sourceTree = ""; }; + 7676C2C1308F3C52004CF793 /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenNavUI.xcframework; sourceTree = ""; }; 769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RunnerDebug.entitlements; sourceTree = ""; }; 76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = ring_30Sec.caf; sourceTree = ""; }; 76B714CF300E58B1004DE37A /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 76B714D1300E58B1004DE37A /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; - 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7E7114E2A230EE71FB6D6D7C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 9616FEAD6BEF8328D85974DF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -78,9 +122,6 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - BCE5BC40273DCC009E2FACB7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - C6416282AC56269448D7DA99 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - C6FD350374F47AFA34911C58 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -88,10 +129,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7676C2C5308F3D02004CF793 /* Penguin.xcframework in Frameworks */, 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - 5D5A1F80D389375644C4D0DC /* Pods_Runner.framework in Frameworks */, 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - 37D27FAF2C38AC83B852680C /* Pods_Runner.framework in Frameworks */, + 7676C2C7308F3D03004CF793 /* PenguinINRenderer.xcframework in Frameworks */, + E770DD0A01C1858ADA957540 /* Pods_Runner.framework in Frameworks */, + 7676C2C9308F3D04004CF793 /* PenNavUI.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -113,30 +156,54 @@ path = Helper; sourceTree = ""; }; - 61243B472EC5FA3700D46FA0 /* Penguin */ = { + 766D8CB22EC60BE600D05E07 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 7676C2BF308F3C52004CF793 /* Penguin.xcframework */, + 7676C2C0308F3C52004CF793 /* PenguinINRenderer.xcframework */, + 7676C2C1308F3C52004CF793 /* PenNavUI.xcframework */, + 76B714CF300E58B1004DE37A /* WidgetKit.framework */, + 76B714D1300E58B1004DE37A /* SwiftUI.framework */, + 09A5B486A6530B3BB024E598 /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 7676C292308F37EA004CF793 /* Penguin */ = { isa = PBXGroup; children = ( + 7676C28D308F37EA004CF793 /* PenguinModel.swift */, + 7676C28E308F37EA004CF793 /* PenguinNavigator.swift */, + 7676C28F308F37EA004CF793 /* PenguinPlugin.swift */, + 7676C290308F37EA004CF793 /* PenguinView.swift */, + 7676C291308F37EA004CF793 /* PenguinViewFactory.swift */, ); path = Penguin; sourceTree = ""; }; - 766D8CB22EC60BE600D05E07 /* Frameworks */ = { + 7676C2A8308F394F004CF793 /* Helper */ = { isa = PBXGroup; children = ( - 76B714CF300E58B1004DE37A /* WidgetKit.framework */, - 76B714D1300E58B1004DE37A /* SwiftUI.framework */, - 56E413AB2A2E9765749CACD1 /* Pods_Runner.framework */, - A83C76CFF9D3F92EDE3B22B4 /* Pods_Runner.framework */, + 7676C29E308F394F004CF793 /* API.swift */, + 7676C29F308F394F004CF793 /* Extensions.swift */, + 7676C2A0308F394F004CF793 /* FlutterConstants.swift */, + 7676C2A1308F394F004CF793 /* GeoZoneModel.swift */, + 7676C2A2308F394F004CF793 /* GlobalHelper.swift */, + 7676C2A3308F394F004CF793 /* HMG_Geofence.swift */, + 7676C2A4308F394F004CF793 /* HMGPenguinInPlatformBridge.swift */, + 7676C2A5308F394F004CF793 /* HMGPlatformBridge.swift */, + 7676C2A6308F394F004CF793 /* LocalizedFromFlutter.swift */, + 7676C2A7308F394F004CF793 /* OpenTokPlatformBridge.swift */, ); - name = Frameworks; + path = Helper; sourceTree = ""; }; 79DD2093A1D9674C94359FC8 /* Pods */ = { isa = PBXGroup; children = ( - BCE5BC40273DCC009E2FACB7 /* Pods-Runner.debug.xcconfig */, - C6416282AC56269448D7DA99 /* Pods-Runner.release.xcconfig */, - C6FD350374F47AFA34911C58 /* Pods-Runner.profile.xcconfig */, + 21DDD86357889D25E534D20D /* Pods-Runner.debug.xcconfig */, + 9616FEAD6BEF8328D85974DF /* Pods-Runner.release.xcconfig */, + 7E7114E2A230EE71FB6D6D7C /* Pods-Runner.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -177,6 +244,8 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( + 7676C2A8308F394F004CF793 /* Helper */, + 7676C292308F37EA004CF793 /* Penguin */, 76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */, 61243B412EC5FA3700D46FA0 /* Helper */, 769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */, @@ -218,7 +287,7 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 511FFA76807DE636962DBF91 /* [CP] Check Pods Manifest.lock */, + E08B80DF84B0E0D872D7D950 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, @@ -226,8 +295,8 @@ 765A5A922F35CD8B0003FF7D /* Embed Frameworks */, 76B714E4300E58B2004DE37A /* Embed Foundation Extensions */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - C7E5B2C65EE0A4D64ECC826B /* [CP] Embed Pods Frameworks */, - DF2C78ED8C8F648520DF8C43 /* [CP] Copy Pods Resources */, + CD8EB7D84DD1FEE84642007B /* [CP] Embed Pods Frameworks */, + 592872084F2202E73671D38F /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -324,27 +393,21 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n"; }; - 511FFA76807DE636962DBF91 /* [CP] Check Pods Manifest.lock */ = { + 592872084F2202E73671D38F /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { @@ -362,7 +425,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; }; - C7E5B2C65EE0A4D64ECC826B /* [CP] Embed Pods Frameworks */ = { + CD8EB7D84DD1FEE84642007B /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -379,21 +442,26 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - DF2C78ED8C8F648520DF8C43 /* [CP] Copy Pods Resources */ = { + E08B80DF84B0E0D872D7D950 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -413,6 +481,21 @@ files = ( 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + 7676C293308F37EA004CF793 /* PenguinViewFactory.swift in Sources */, + 7676C294308F37EA004CF793 /* PenguinView.swift in Sources */, + 7676C295308F37EA004CF793 /* PenguinModel.swift in Sources */, + 7676C296308F37EA004CF793 /* PenguinNavigator.swift in Sources */, + 7676C2A9308F394F004CF793 /* HMGPenguinInPlatformBridge.swift in Sources */, + 7676C2AA308F394F004CF793 /* HMG_Geofence.swift in Sources */, + 7676C2AB308F394F004CF793 /* LocalizedFromFlutter.swift in Sources */, + 7676C2AC308F394F004CF793 /* GlobalHelper.swift in Sources */, + 7676C2AD308F394F004CF793 /* HMGPlatformBridge.swift in Sources */, + 7676C2AE308F394F004CF793 /* API.swift in Sources */, + 7676C2AF308F394F004CF793 /* FlutterConstants.swift in Sources */, + 7676C2B0308F394F004CF793 /* Extensions.swift in Sources */, + 7676C2B1308F394F004CF793 /* GeoZoneModel.swift in Sources */, + 7676C2B2308F394F004CF793 /* OpenTokPlatformBridge.swift in Sources */, + 7676C297308F37EA004CF793 /* PenguinPlugin.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 13ac16ec..c7a41a18 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -26,33 +26,33 @@ import GoogleMaps } func initializePlatformChannels(){ -// DispatchQueue.main.async { [weak self] in -// guard let self = self else { return } -// -// // 1. Try accessing window via AppDelegate (legacy/single-window setup) -// var controller = self.window?.rootViewController as? FlutterViewController -// -// // 2. Fallback to UIWindowScene active window (modern iOS architecture) -// if controller == nil { -// controller = UIApplication.shared.connectedScenes -// .compactMap { $0 as? UIWindowScene } -// .flatMap { $0.windows } -// .first(where: { $0.isKeyWindow })? -// .rootViewController as? FlutterViewController -// } -// -// // 3. Perform initialization once FlutterViewController is available -// if let mainViewController = controller { -// HMGPenguinInPlatformBridge.initialize(flutterViewController: mainViewController) -// } else { -// print("⚠️ FlutterViewController not ready yet for initializePlatformChannels.") -// } -// } - - -// if let mainViewController = window?.rootViewController as? FlutterViewController{ // platform initialization suppose to be in foreground -// HMGPenguinInPlatformBridge.initialize(flutterViewController: mainViewController) -// } + DispatchQueue.main.async { [weak self] in + guard let self = self else { return } + + // 1. Try accessing window via AppDelegate (legacy/single-window setup) + var controller = self.window?.rootViewController as? FlutterViewController + + // 2. Fallback to UIWindowScene active window (modern iOS architecture) + if controller == nil { + controller = UIApplication.shared.connectedScenes + .compactMap { $0 as? UIWindowScene } + .flatMap { $0.windows } + .first(where: { $0.isKeyWindow })? + .rootViewController as? FlutterViewController + } + + // 3. Perform initialization once FlutterViewController is available + if let mainViewController = controller { + HMGPenguinInPlatformBridge.initialize(flutterViewController: mainViewController) + } else { + print("⚠️ FlutterViewController not ready yet for initializePlatformChannels.") + } + } + + + if let mainViewController = window?.rootViewController as? FlutterViewController{ // platform initialization suppose to be in foreground + HMGPenguinInPlatformBridge.initialize(flutterViewController: mainViewController) + } } diff --git a/ios/Runner/Helper/FlutterConstants.swift b/ios/Runner/Helper/FlutterConstants.swift index f1b3f098..10dfa4ff 100644 --- a/ios/Runner/Helper/FlutterConstants.swift +++ b/ios/Runner/Helper/FlutterConstants.swift @@ -5,32 +5,32 @@ // Created by ZiKambrani on 22/12/2020. // -import UIKit - -class FlutterConstants{ - static var LOG_GEOFENCE_URL:String? - static var WIFI_CREDENTIALS_URL:String? - static var DEFAULT_HTTP_PARAMS:[String:Any?]? - - class func set(){ - - // (FiX) Take a start with FlutterMethodChannel (kikstart) - /* First call to flutter method is not returning the correct value (Always returning 'NSObject') then after it wroking fine and returning correct value*/ - FlutterText.with(key: "test") { (test) in - - flutterMethodChannel?.invokeMethod("getDefaultHttpParameters", arguments: nil){ (response) in - if let defaultHTTPParams = response as? [String:Any?]{ - DEFAULT_HTTP_PARAMS = defaultHTTPParams - } - - } - - flutterMethodChannel?.invokeMethod("getLogGeofenceFullUrl", arguments:nil){ (response) in - if let url = response as? String{ - LOG_GEOFENCE_URL = url - } - } - - } - } -} +//import UIKit +// +//class FlutterConstants{ +// static var LOG_GEOFENCE_URL:String? +// static var WIFI_CREDENTIALS_URL:String? +// static var DEFAULT_HTTP_PARAMS:[String:Any?]? +// +// class func set(){ +// +// // (FiX) Take a start with FlutterMethodChannel (kikstart) +// /* First call to flutter method is not returning the correct value (Always returning 'NSObject') then after it wroking fine and returning correct value*/ +// FlutterText.with(key: "test") { (test) in +// +// flutterMethodChannel?.invokeMethod("getDefaultHttpParameters", arguments: nil){ (response) in +// if let defaultHTTPParams = response as? [String:Any?]{ +// DEFAULT_HTTP_PARAMS = defaultHTTPParams +// } +// +// } +// +// flutterMethodChannel?.invokeMethod("getLogGeofenceFullUrl", arguments:nil){ (response) in +// if let url = response as? String{ +// LOG_GEOFENCE_URL = url +// } +// } +// +// } +// } +//} diff --git a/ios/Runner/Helper/HMGPlatformBridge.swift b/ios/Runner/Helper/HMGPlatformBridge.swift index fd9fb401..709767e6 100644 --- a/ios/Runner/Helper/HMGPlatformBridge.swift +++ b/ios/Runner/Helper/HMGPlatformBridge.swift @@ -5,136 +5,136 @@ // Created by ZiKambrani on 14/12/2020. // -import UIKit -import NetworkExtension -import SystemConfiguration.CaptiveNetwork - -var flutterMethodChannel:FlutterMethodChannel? = nil -fileprivate var mainViewController:MainFlutterVC! - -class HMGPlatformBridge{ - private let channelName = "HMG-Platform-Bridge" - private static var shared_:HMGPlatformBridge? - - class func initialize(flutterViewController:MainFlutterVC){ - shared_ = HMGPlatformBridge() - mainViewController = flutterViewController - shared_?.openChannel() - } - - func shared() -> HMGPlatformBridge{ - assert((HMGPlatformBridge.shared_ != nil), "HMGPlatformBridge is not initialized, call initialize(mainViewController:MainFlutterVC) function first.") - return HMGPlatformBridge.shared_! - } - - private func openChannel(){ - flutterMethodChannel = FlutterMethodChannel(name: channelName, binaryMessenger: mainViewController.binaryMessenger) - flutterMethodChannel?.setMethodCallHandler { (methodCall, result) in - print("Called function \(methodCall.method)") - if methodCall.method == "connectHMGInternetWifi"{ - self.connectHMGInternetWifi(methodCall:methodCall, result: result) - - }else if methodCall.method == "connectHMGGuestWifi"{ - self.connectHMGGuestWifi(methodCall:methodCall, result: result) - - }else if methodCall.method == "isHMGNetworkAvailable"{ - self.isHMGNetworkAvailable(methodCall:methodCall, result: result) - - }else if methodCall.method == "registerHmgGeofences"{ - self.registerHmgGeofences(result: result) - - }else if methodCall.method == "unRegisterHmgGeofences"{ - self.unRegisterHmgGeofences(result: result) - } - - print("") - } - Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { (timer) in - FlutterConstants.set() - } - } - - - - // Connect HMG Wifi and Internet - func connectHMGInternetWifi(methodCall:FlutterMethodCall ,result: @escaping FlutterResult){ - - guard let pateintId = (methodCall.arguments as? [Any])?.first as? String - else { return assert(true, "Missing or invalid arguments (Must have one argument 'String at 0'") } - - - HMG_Internet.shared.connect(patientId: pateintId) { (status, message) in - result(status ? 1 : 0) - if status{ - self.showMessage(title:"Congratulations", message:message) - }else{ - self.showMessage(title:"Ooops,", message:message) - } - } - } - - // Connect HMG-Guest for App Access - func connectHMGGuestWifi(methodCall:FlutterMethodCall ,result: @escaping FlutterResult){ - HMG_GUEST.shared.connect() { (status, message) in - result(status ? 1 : 0) - if status{ - self.showMessage(title:"Congratulations", message:message) - }else{ - self.showMessage(title:"Ooops,", message:message) - } - } - } - - func isHMGNetworkAvailable(methodCall:FlutterMethodCall ,result: @escaping FlutterResult) -> Bool{ - guard let ssid = methodCall.arguments as? String else { - assert(true, "Missing or invalid arguments (Must have one argument 'String at 0'") - return false - } - - let queue = DispatchQueue.init(label: "com.hmg.wifilist") - NEHotspotHelper.register(options: nil, queue: queue) { (command) in - print(command) - - if(command.commandType == NEHotspotHelperCommandType.filterScanList) { - if let networkList = command.networkList{ - for network in networkList{ - print(network.ssid) - } - } - } - } - return false - - } - - - // Message Dailog - func showMessage(title:String, message:String){ - DispatchQueue.main.async { - let alert = UIAlertController(title: title, message: message, preferredStyle: .alert ) - alert.addAction(UIAlertAction(title: "OK", style: .destructive, handler: nil)) - mainViewController.present(alert, animated: true) { - - } - } - } - - // Register Geofence - func registerHmgGeofences(result: @escaping FlutterResult){ - flutterMethodChannel?.invokeMethod("getGeoZones", arguments: nil){ geoFencesJsonString in - if let jsonString = geoFencesJsonString as? String{ - let allZones = GeoZoneModel.list(from: jsonString) - HMG_Geofence.shared().register(geoZones: allZones) - result(true) - }else{ - } - } - } - - // Register Geofence - func unRegisterHmgGeofences(result: @escaping FlutterResult){ - HMG_Geofence.shared().unRegisterAll() - result(true) - } - -} +//import UIKit +//import NetworkExtension +//import SystemConfiguration.CaptiveNetwork +// +//var flutterMethodChannel:FlutterMethodChannel? = nil +//fileprivate var mainViewController:MainFlutterVC! +// +//class HMGPlatformBridge{ +// private let channelName = "HMG-Platform-Bridge" +// private static var shared_:HMGPlatformBridge? +// +// class func initialize(flutterViewController:MainFlutterVC){ +// shared_ = HMGPlatformBridge() +// mainViewController = flutterViewController +// shared_?.openChannel() +// } +// +// func shared() -> HMGPlatformBridge{ +// assert((HMGPlatformBridge.shared_ != nil), "HMGPlatformBridge is not initialized, call initialize(mainViewController:MainFlutterVC) function first.") +// return HMGPlatformBridge.shared_! +// } +// +// private func openChannel(){ +// flutterMethodChannel = FlutterMethodChannel(name: channelName, binaryMessenger: mainViewController.binaryMessenger) +// flutterMethodChannel?.setMethodCallHandler { (methodCall, result) in +// print("Called function \(methodCall.method)") +// if methodCall.method == "connectHMGInternetWifi"{ +// self.connectHMGInternetWifi(methodCall:methodCall, result: result) +// +// }else if methodCall.method == "connectHMGGuestWifi"{ +// self.connectHMGGuestWifi(methodCall:methodCall, result: result) +// +// }else if methodCall.method == "isHMGNetworkAvailable"{ +// self.isHMGNetworkAvailable(methodCall:methodCall, result: result) +// +// }else if methodCall.method == "registerHmgGeofences"{ +// self.registerHmgGeofences(result: result) +// +// }else if methodCall.method == "unRegisterHmgGeofences"{ +// self.unRegisterHmgGeofences(result: result) +// } +// +// print("") +// } +// Timer.scheduledTimer(withTimeInterval: 0.1, repeats: false) { (timer) in +// FlutterConstants.set() +// } +// } +// +// +// +// // Connect HMG Wifi and Internet +// func connectHMGInternetWifi(methodCall:FlutterMethodCall ,result: @escaping FlutterResult){ +// +// guard let pateintId = (methodCall.arguments as? [Any])?.first as? String +// else { return assert(true, "Missing or invalid arguments (Must have one argument 'String at 0'") } +// +// +// HMG_Internet.shared.connect(patientId: pateintId) { (status, message) in +// result(status ? 1 : 0) +// if status{ +// self.showMessage(title:"Congratulations", message:message) +// }else{ +// self.showMessage(title:"Ooops,", message:message) +// } +// } +// } +// +// // Connect HMG-Guest for App Access +// func connectHMGGuestWifi(methodCall:FlutterMethodCall ,result: @escaping FlutterResult){ +// HMG_GUEST.shared.connect() { (status, message) in +// result(status ? 1 : 0) +// if status{ +// self.showMessage(title:"Congratulations", message:message) +// }else{ +// self.showMessage(title:"Ooops,", message:message) +// } +// } +// } +// +// func isHMGNetworkAvailable(methodCall:FlutterMethodCall ,result: @escaping FlutterResult) -> Bool{ +// guard let ssid = methodCall.arguments as? String else { +// assert(true, "Missing or invalid arguments (Must have one argument 'String at 0'") +// return false +// } +// +// let queue = DispatchQueue.init(label: "com.hmg.wifilist") +// NEHotspotHelper.register(options: nil, queue: queue) { (command) in +// print(command) +// +// if(command.commandType == NEHotspotHelperCommandType.filterScanList) { +// if let networkList = command.networkList{ +// for network in networkList{ +// print(network.ssid) +// } +// } +// } +// } +// return false +// +// } +// +// +// // Message Dailog +// func showMessage(title:String, message:String){ +// DispatchQueue.main.async { +// let alert = UIAlertController(title: title, message: message, preferredStyle: .alert ) +// alert.addAction(UIAlertAction(title: "OK", style: .destructive, handler: nil)) +// mainViewController.present(alert, animated: true) { +// +// } +// } +// } +// +// // Register Geofence +// func registerHmgGeofences(result: @escaping FlutterResult){ +// flutterMethodChannel?.invokeMethod("getGeoZones", arguments: nil){ geoFencesJsonString in +// if let jsonString = geoFencesJsonString as? String{ +// let allZones = GeoZoneModel.list(from: jsonString) +// HMG_Geofence.shared().register(geoZones: allZones) +// result(true) +// }else{ +// } +// } +// } +// +// // Register Geofence +// func unRegisterHmgGeofences(result: @escaping FlutterResult){ +// HMG_Geofence.shared().unRegisterAll() +// result(true) +// } +// +//} diff --git a/ios/Runner/Helper/LocalizedFromFlutter.swift b/ios/Runner/Helper/LocalizedFromFlutter.swift index 88530649..0fa4b0bd 100644 --- a/ios/Runner/Helper/LocalizedFromFlutter.swift +++ b/ios/Runner/Helper/LocalizedFromFlutter.swift @@ -9,14 +9,14 @@ import UIKit class FlutterText{ - class func with(key:String,completion: @escaping (String)->Void){ - flutterMethodChannel?.invokeMethod("localizedValue", arguments: key, result: { (result) in - if let localized = result as? String{ - completion(localized) - }else{ - completion(key) - } - }) - } +// class func with(key:String,completion: @escaping (String)->Void){ +// flutterMethodChannel?.invokeMethod("localizedValue", arguments: key, result: { (result) in +// if let localized = result as? String{ +// completion(localized) +// }else{ +// completion(key) +// } +// }) +// } } diff --git a/ios/Runner/Helper/OpenTokPlatformBridge.swift b/ios/Runner/Helper/OpenTokPlatformBridge.swift index 4da39dc4..b2c46b3a 100644 --- a/ios/Runner/Helper/OpenTokPlatformBridge.swift +++ b/ios/Runner/Helper/OpenTokPlatformBridge.swift @@ -5,57 +5,57 @@ // Created by ZiKambrani on 14/12/2020. // -import UIKit -import NetworkExtension -import SystemConfiguration.CaptiveNetwork - - -fileprivate var openTok:OpenTok? - -class OpenTokPlatformBridge : NSObject{ - private var methodChannel:FlutterMethodChannel? = nil - private var mainViewController:MainFlutterVC! - private static var shared_:OpenTokPlatformBridge? - - class func initialize(flutterViewController:MainFlutterVC, registrar:FlutterPluginRegistrar?){ - shared_ = OpenTokPlatformBridge() - shared_?.mainViewController = flutterViewController - - shared_?.openChannel() - openTok = OpenTok(mainViewController: flutterViewController, registrar: registrar) - } - - func shared() -> OpenTokPlatformBridge{ - assert((OpenTokPlatformBridge.shared_ != nil), "OpenTokPlatformBridge is not initialized, call initialize(mainViewController:MainFlutterVC) function first.") - return OpenTokPlatformBridge.shared_! - } - - private func openChannel(){ - methodChannel = FlutterMethodChannel(name: "OpenTok-Platform-Bridge", binaryMessenger: mainViewController.binaryMessenger) - methodChannel?.setMethodCallHandler { (call, result) in - print("Called function \(call.method)") - - switch(call.method) { - case "initSession": - openTok?.initSession(call: call, result: result) - - case "swapCamera": - openTok?.swapCamera(call: call, result: result) - - case "toggleAudio": - openTok?.toggleAudio(call: call, result: result) - - case "toggleVideo": - openTok?.toggleVideo(call: call, result: result) - - case "hangupCall": - openTok?.hangupCall(call: call, result: result) - - default: - result(FlutterMethodNotImplemented) - } - - print("") - } - } -} +//import UIKit +//import NetworkExtension +//import SystemConfiguration.CaptiveNetwork +// +// +//fileprivate var openTok:OpenTok? +// +//class OpenTokPlatformBridge : NSObject{ +// private var methodChannel:FlutterMethodChannel? = nil +// private var mainViewController:MainFlutterVC! +// private static var shared_:OpenTokPlatformBridge? +// +// class func initialize(flutterViewController:MainFlutterVC, registrar:FlutterPluginRegistrar?){ +// shared_ = OpenTokPlatformBridge() +// shared_?.mainViewController = flutterViewController +// +// shared_?.openChannel() +// openTok = OpenTok(mainViewController: flutterViewController, registrar: registrar) +// } +// +// func shared() -> OpenTokPlatformBridge{ +// assert((OpenTokPlatformBridge.shared_ != nil), "OpenTokPlatformBridge is not initialized, call initialize(mainViewController:MainFlutterVC) function first.") +// return OpenTokPlatformBridge.shared_! +// } +// +// private func openChannel(){ +// methodChannel = FlutterMethodChannel(name: "OpenTok-Platform-Bridge", binaryMessenger: mainViewController.binaryMessenger) +// methodChannel?.setMethodCallHandler { (call, result) in +// print("Called function \(call.method)") +// +// switch(call.method) { +// case "initSession": +// openTok?.initSession(call: call, result: result) +// +// case "swapCamera": +// openTok?.swapCamera(call: call, result: result) +// +// case "toggleAudio": +// openTok?.toggleAudio(call: call, result: result) +// +// case "toggleVideo": +// openTok?.toggleVideo(call: call, result: result) +// +// case "hangupCall": +// openTok?.hangupCall(call: call, result: result) +// +// default: +// result(FlutterMethodNotImplemented) +// } +// +// print("") +// } +// } +//} diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 8bf02667..85d84646 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -2,27 +2,6 @@ - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneClassName - UIWindowScene - UISceneDelegateClassName - FlutterSceneDelegate - UISceneConfigurationName - flutter - UISceneStoryboardFile - Main - - - - CADisableMinimumFrameDurationOnPhone CFBundleDevelopmentRegion