From b10b9110aad5ef480eb520245e295ee5a6b5f0e0 Mon Sep 17 00:00:00 2001 From: denggaofeng <1139968554@qq.com> Date: Mon, 26 Jan 2026 14:13:15 +0800 Subject: [PATCH] ios --- NFCLockDemoV2/MainPage.xaml.cs | 23 +---- NfcLock.Ios.Binding/ApiDefinition.cs | 86 +++++++++--------- .../arm64-apple-ios.private.swiftinterface | 2 +- .../arm64-apple-ios.swiftinterface | 2 +- ...apple-ios-simulator.private.swiftinterface | 2 +- .../arm64-apple-ios-simulator.swiftinterface | 2 +- ...apple-ios-simulator.private.swiftinterface | 2 +- .../x86_64-apple-ios-simulator.swiftinterface | 2 +- .../NfcLockFramework | Bin 200992 -> 200992 bytes .../_CodeSignature/CodeResources | 46 +++++++--- .../project.pbxproj | 8 +- .../UserInterfaceState.xcuserstate | Bin 19099 -> 26614 bytes 12 files changed, 90 insertions(+), 85 deletions(-) diff --git a/NFCLockDemoV2/MainPage.xaml.cs b/NFCLockDemoV2/MainPage.xaml.cs index bf13a89..2f627ac 100644 --- a/NFCLockDemoV2/MainPage.xaml.cs +++ b/NFCLockDemoV2/MainPage.xaml.cs @@ -14,7 +14,7 @@ public partial class MainPage : ContentPage #if IOS private void SetNFCCallbacks() { - NFCManager.SetLoopCbWithCb(new LoopCallback(this)); + NFCManager.SetLoopCbWithCb(); NFCManager.SetFinishedCbWithCb(() => { System.Diagnostics.Debug.WriteLine("finished"); @@ -38,27 +38,6 @@ public partial class MainPage : ContentPage _mainMainViewModel.UpdateMessage($"控制中({progress}%)"); }); } - - private class LoopCallback : Foundation.NSObject - { - private readonly MainPage mainPage; - - public LoopCallback(MainPage page) - { - this.mainPage = page; - } - - [Export("callAsFunctionWithId:isNew:rssi:")] - public bool CallAsFunction(IntPtr id, bool isNew, int rssi) - { - string deviceId = NSString.FromHandle(id); - - mainPage._mainMainViewModel.DeviceId = deviceId; - mainPage._mainMainViewModel.DeviceRssi = rssi.ToString(); - - return true; // 继续循环 - } - } #endif public MainPage(MainViewModel mainViewModel) diff --git a/NfcLock.Ios.Binding/ApiDefinition.cs b/NfcLock.Ios.Binding/ApiDefinition.cs index 4b05d3a..83046e3 100644 --- a/NfcLock.Ios.Binding/ApiDefinition.cs +++ b/NfcLock.Ios.Binding/ApiDefinition.cs @@ -3,54 +3,54 @@ using Foundation; namespace NfcLock.Ios.Binding { - // @interface NFCManager - [DisableDefaultCtor] - [BaseType (typeof (NSObject))] - interface NFCManager - { - // +(void)startScan; - [Static] - [Export ("startScan")] - void StartScan (); + // @interface NFCManager + [DisableDefaultCtor] + [BaseType (typeof (NSObject))] + interface NFCManager + { + // +(void)startScan; + [Static] + [Export ("startScan")] + void StartScan (); - // +(void)endScan; - [Static] - [Export ("endScan")] - void EndScan (); + // +(void)endScan; + [Static] + [Export ("endScan")] + void EndScan (); - // +(void)endScanWithErrorMessage:(NSString * _Nonnull)errorMessage; - [Static] - [Export ("endScanWithErrorMessage:")] - void EndScanWithErrorMessage (string errorMessage); + // +(void)endScanWithErrorMessage:(NSString * _Nonnull)errorMessage; + [Static] + [Export ("endScanWithErrorMessage:")] + void EndScanWithErrorMessage (string errorMessage); - // +(void)setLoopCbWithCb:(id)cb; - [Static] - [Export ("setLoopCbWithCb:")] - void SetLoopCbWithCb (NSObject cb); + // +(void)setLoopCbWithCb:(id)cb; + [Static] + [Export ("setLoopCbWithCb:")] + void SetLoopCbWithCb (Func callback); - // +(void)setFinishedCbWithCb:(void (^ _Nonnull)(void))cb; - [Static] - [Export ("setFinishedCbWithCb:")] - void SetFinishedCbWithCb (Action cb); + // +(void)setFinishedCbWithCb:(void (^ _Nonnull)(void))cb; + [Static] + [Export ("setFinishedCbWithCb:")] + void SetFinishedCbWithCb (Action cb); - // +(void)setChargingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb; - [Static] - [Export ("setChargingCbWithCb:")] - void SetChargingCbWithCb (Action cb); + // +(void)setChargingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb; + [Static] + [Export ("setChargingCbWithCb:")] + void SetChargingCbWithCb (Action cb); - // +(void)setControllingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb; - [Static] - [Export ("setControllingCbWithCb:")] - void SetControllingCbWithCb (Action cb); + // +(void)setControllingCbWithCb:(void (^ _Nonnull)(NSString * _Nonnull, int))cb; + [Static] + [Export ("setControllingCbWithCb:")] + void SetControllingCbWithCb (Action cb); - // +(void)lockWithPassword:(NSString * _Nonnull)password; - [Static] - [Export ("lockWithPassword:")] - void LockWithPassword (string password); + // +(void)lockWithPassword:(NSString * _Nonnull)password; + [Static] + [Export ("lockWithPassword:")] + void LockWithPassword (string password); - // +(void)unlockWithPassword:(NSString * _Nonnull)password; - [Static] - [Export ("unlockWithPassword:")] - void UnlockWithPassword (string password); - } -} + // +(void)unlockWithPassword:(NSString * _Nonnull)password; + [Static] + [Export ("unlockWithPassword:")] + void UnlockWithPassword (string password); + } +} \ No newline at end of file diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.private.swiftinterface b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.private.swiftinterface index 3d1a097..4929a7e 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.private.swiftinterface +++ b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -1,7 +1,7 @@ // swift-interface-format-version: 1.0 // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-module-flags: -target arm64-apple-ios16.6 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-upcoming-feature DisableOutwardActorInference -enable-upcoming-feature InferSendableFromCaptures -enable-upcoming-feature GlobalActorIsolatedTypesUsability -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name NfcLockFramework -// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 import CoreNFC import NFCSDK import Swift diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.swiftinterface b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.swiftinterface index 3d1a097..4929a7e 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.swiftinterface +++ b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios.swiftinterface @@ -1,7 +1,7 @@ // swift-interface-format-version: 1.0 // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-module-flags: -target arm64-apple-ios16.6 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-upcoming-feature DisableOutwardActorInference -enable-upcoming-feature InferSendableFromCaptures -enable-upcoming-feature GlobalActorIsolatedTypesUsability -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name NfcLockFramework -// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 import CoreNFC import NFCSDK import Swift diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface index 40a4cfd..19d1a19 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -1,7 +1,7 @@ // swift-interface-format-version: 1.0 // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-module-flags: -target arm64-apple-ios16.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-upcoming-feature DisableOutwardActorInference -enable-upcoming-feature InferSendableFromCaptures -enable-upcoming-feature GlobalActorIsolatedTypesUsability -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name NfcLockFramework -// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 import CoreNFC import NFCSDK import Swift diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 40a4cfd..19d1a19 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -1,7 +1,7 @@ // swift-interface-format-version: 1.0 // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-module-flags: -target arm64-apple-ios16.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-upcoming-feature DisableOutwardActorInference -enable-upcoming-feature InferSendableFromCaptures -enable-upcoming-feature GlobalActorIsolatedTypesUsability -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name NfcLockFramework -// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 import CoreNFC import NFCSDK import Swift diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface index 8db70a2..6704ddf 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -1,7 +1,7 @@ // swift-interface-format-version: 1.0 // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-module-flags: -target x86_64-apple-ios16.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-upcoming-feature DisableOutwardActorInference -enable-upcoming-feature InferSendableFromCaptures -enable-upcoming-feature GlobalActorIsolatedTypesUsability -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name NfcLockFramework -// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 import CoreNFC import NFCSDK import Swift diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 8db70a2..6704ddf 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -1,7 +1,7 @@ // swift-interface-format-version: 1.0 // swift-compiler-version: Apple Swift version 6.2.3 effective-5.10 (swiftlang-6.2.3.3.21 clang-1700.6.3.2) // swift-module-flags: -target x86_64-apple-ios16.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-upcoming-feature DisableOutwardActorInference -enable-upcoming-feature InferSendableFromCaptures -enable-upcoming-feature GlobalActorIsolatedTypesUsability -enable-upcoming-feature MemberImportVisibility -enable-upcoming-feature InferIsolatedConformances -enable-upcoming-feature NonisolatedNonsendingByDefault -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name NfcLockFramework -// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 +// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3 import CoreNFC import NFCSDK import Swift diff --git a/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/NfcLockFramework b/NfcLock.Ios.Binding/NfcLockFramework.xcframework/ios-arm64_x86_64-simulator/NfcLockFramework.framework/NfcLockFramework index 269ae368b9aff4468838a90808f5986fc9b6e675..c32f6cf10e39642f757f2dea023947f652286464 100755 GIT binary patch delta 93 zcmZ3mh-bkfo`x-qR>}$ui2@5HxL<5Nb8CnAYwhow}&Nj}Ew+dGOr5H0`C$yE~py)oEM!i_93jXC2r&Wr?kqPkWRy U files + Headers/NfcLockFramework-Swift.h + + YEquuy4noJ8B7eMgaLE+YDh0fgM= + Info.plist GpDEJ+rATPOCmP3HUpE7ZB1LJzg= @@ -14,7 +18,7 @@ Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - AvzsO/AVfO+ywZPE6yD9W7vfuo0= + 2Dap9sXkg+TyM2W04UdOnZnmPqc= Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftdoc @@ -22,11 +26,11 @@ Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftinterface - AvzsO/AVfO+ywZPE6yD9W7vfuo0= + 2Dap9sXkg+TyM2W04UdOnZnmPqc= Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftmodule - 7ZUSCPKox6eMxhpnn4hrjbL6BxA= + l8O6zkrcOaGEuqWHNGBMJ5Su3cw= Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -34,7 +38,7 @@ Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - ZnK7qlDDFzUdvbvDxYNV3zJfJNs= + 8oe3Jnkvx2Rh9M9uWCCu7FvLOvk= Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftdoc @@ -42,15 +46,26 @@ Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - ZnK7qlDDFzUdvbvDxYNV3zJfJNs= + 8oe3Jnkvx2Rh9M9uWCCu7FvLOvk= Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - xgwvAMrwCj7TS3fvZmO+XTxikJI= + TYIw+cr1EMn5gNkjNNLhxYTm0bU= + + Modules/module.modulemap + + 0aItPXpeIP7d1JVyWzIWeQbdMew= files2 + Headers/NfcLockFramework-Swift.h + + hash2 + + Zu+uQldm/Vo1qMe0LNWnnbgXpAW9hCKvQZnlfKYz0Zk= + + Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.abi.json hash2 @@ -62,7 +77,7 @@ hash2 - wuf+eH3BsUKo9NTwH7Um4g2Eeg4IC2hJqGCKDCc6lLI= + b6YLeZp9MwfAQhhyWJxQLrMa1doJqbXhxTWjhh+e2Pw= Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftdoc @@ -76,14 +91,14 @@ hash2 - wuf+eH3BsUKo9NTwH7Um4g2Eeg4IC2hJqGCKDCc6lLI= + b6YLeZp9MwfAQhhyWJxQLrMa1doJqbXhxTWjhh+e2Pw= Modules/NfcLockFramework.swiftmodule/arm64-apple-ios-simulator.swiftmodule hash2 - GeWMkaizI6HvrqlHDDnyAntNRSFdAEKwXj4V3wwoUf4= + i3r4WpOvDeIbKEnjJvkPTABfhvc4vda1Sh4EDiYL+wA= Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -97,7 +112,7 @@ hash2 - qurGBKdP1/SpkBpV1Yl/SOxoj9Jt+9vW9PUvFthKl6s= + j2EM8BNhC4jEvjsXRctMbsumNgX4O/TXoQItNav3wE4= Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftdoc @@ -111,14 +126,21 @@ hash2 - qurGBKdP1/SpkBpV1Yl/SOxoj9Jt+9vW9PUvFthKl6s= + j2EM8BNhC4jEvjsXRctMbsumNgX4O/TXoQItNav3wE4= Modules/NfcLockFramework.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - V70YxRBHqcbUYJV956PCLEmTLVXfvzZ5eDuk2uBxhgQ= + aaGoZ9a/i2KY4Q5ViIEYfHYbCf7e4oLD7gdSnTOoaXY= + + + Modules/module.modulemap + + hash2 + + 56klHhajfaGpdlfxFjnPH7Kq6HS4am/aUjuo2XJ3TSU= diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj index 5938fd1..521cc78 100644 --- a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj +++ b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.pbxproj @@ -264,9 +264,11 @@ 185AC0612F22284600E22FA2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -290,7 +292,7 @@ SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_INSTALL_MODULE = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_INSTALL_OBJC_HEADER = YES; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -300,9 +302,11 @@ 185AC0622F22284600E22FA2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -326,7 +330,7 @@ SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_INSTALL_MODULE = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_INSTALL_OBJC_HEADER = YES; SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate b/NfcLock.Ios.Binding/NfcLockFramework/NfcLockFramework.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate index 7ef8bf84cc8f25f94edb5f8336e1b63f9a2e5909..574f4a1e1f2deaa6b0104103a2a6a5b387a76459 100644 GIT binary patch literal 26614 zcmeHv33yXQ*YM2UTA-!rLiZ&!g_bVqlI{yMNz*paCTWruT9%Nup+wrIG%cGbbKMtk zUtR@$p+!VqQBhG`K@ku^R6r3$K}7@<_YK$o+@#y3J6fIYu8fR>2qOy7h(RpkkPjL;En$J9)9rM%*C*IJo8~&C@!)iEu>)p&`c zsmmRN@HMM#vH*i+ies^(S>4y@E#!+v)LOdiT@HdD4aC2qQOFO4p>Py|(vT9RqYRXZ zvXBa8qa2ir@=!jSjHaL}RE-SCh)k#k%|x@14b4V&)P~xT3w5CRs2g31mZB@rmFQY@ z9a@2ILARoN(7k9ST7}l5htLM}FZ3|lh@L=CqAlnd^elQAZAY)5UFbFRI(iemg-)T< z=yUW1I)lDMU!kwjH|SgR9XgACLce2-DLfhn;4wG~{fMKn94Fv$cmhtw88{Q?-~wET zCt)qFz*F%wT#p;@bUXvk#IvvsJMkrW9&W`Q_zHYIz8T++@5U?fD!dx6!w=#O_+R*8 z{0iQIcj8_6RlFO&hWFsT_;tJw@5hJnd-#2P1Ruwr;uH95{0;sVe}{jf zOO2pLQllt8DufzCg;HTuI2BFBQRArbR0@?tpM9d#HP)PCv!^*(i!Iz}C*KBZ1kr>QTguc))sFVwHpZ!|}bq({*T zI)NTXkEavqBzgj!OsCMPbQ+yW=hFqWn%2--x|%l7M%qMM>1p(A+Df7{V)1q`YHNpdJFvw{Q~_G{WAR;y@&pU zK2Cp1pP)aZPtvF8)AZ-`7xWqW8~SGkF_@tkKgORK%>*#POc)c#$eFRs1SXluX7ZT= zri7WuXc#S1!AxO{%v5GNGlQAKv@mlSC)38bnJ%WAxs17-S;i2CXRcwcWo~5dWbR__ zX8ysfV%9J{OfR#Md4zeCd5qb_Y-V;aJDFX~tITfZHD(X%%lff0Hkb`%BiLv*j*Vx> zu}N$St7J3TY&MTAWJ}mmR?C*NdbWx+vSzlHoyJaQXR&s+nQdV&VcXaa*3B+p7qd&* zW$YE~)$DcbjqFYAt?V7_-R!;Wee7zsmtDs`#6HYE%0A9+X1B1}%{E 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