diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/Metadata/global-metadata.dat b/UnityLibrary/UnityFramework.framework/Data/Managed/Metadata/global-metadata.dat new file mode 100644 index 0000000..14db97b Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Managed/Metadata/global-metadata.dat differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/Coffee.UIEffect.R.dll-resources.dat b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/Coffee.UIEffect.R.dll-resources.dat new file mode 100644 index 0000000..d020d1f Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/Coffee.UIEffect.R.dll-resources.dat differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/Coffee.UIParticle.R.dll-resources.dat b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/Coffee.UIParticle.R.dll-resources.dat new file mode 100644 index 0000000..d020d1f Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/Coffee.UIParticle.R.dll-resources.dat differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/System.Data.dll-resources.dat b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/System.Data.dll-resources.dat new file mode 100644 index 0000000..28c39a6 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/System.Data.dll-resources.dat differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/System.Drawing.dll-resources.dat b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/System.Drawing.dll-resources.dat new file mode 100644 index 0000000..1fc340d Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/System.Drawing.dll-resources.dat differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/mscorlib.dll-resources.dat b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/mscorlib.dll-resources.dat new file mode 100644 index 0000000..6d144fc Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Managed/Resources/mscorlib.dll-resources.dat differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Managed/mono/4.0/machine.config b/UnityLibrary/UnityFramework.framework/Data/Managed/mono/4.0/machine.config new file mode 100644 index 0000000..f3b71c4 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Data/Managed/mono/4.0/machine.config @@ -0,0 +1,307 @@ + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+ + + +
+ +
+
+
+
+ + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ + +
+
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/DOTween.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/DOTween.dll.bytes new file mode 100644 index 0000000..d089465 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/DOTween.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/FlutterUnityIntegration.Runtime.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/FlutterUnityIntegration.Runtime.dll.bytes new file mode 100644 index 0000000..3ffd459 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/FlutterUnityIntegration.Runtime.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/Google.Protobuf.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/Google.Protobuf.dll.bytes new file mode 100644 index 0000000..4b4257a Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/Google.Protobuf.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/Newtonsoft.Json.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/Newtonsoft.Json.dll.bytes new file mode 100644 index 0000000..7155fd0 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/Newtonsoft.Json.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/QFramework.CoreKit.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/QFramework.CoreKit.dll.bytes new file mode 100644 index 0000000..52fe9e6 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/QFramework.CoreKit.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/QFramework.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/QFramework.dll.bytes new file mode 100644 index 0000000..07b8386 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/QFramework.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/ResKit.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/ResKit.dll.bytes new file mode 100644 index 0000000..0fe7b00 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/ResKit.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/System.Core.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/System.Core.dll.bytes new file mode 100644 index 0000000..d8df0f9 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/System.Core.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/System.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/System.dll.bytes new file mode 100644 index 0000000..60d1d30 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/System.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UIKit.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UIKit.dll.bytes new file mode 100644 index 0000000..e147bcc Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UIKit.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UnityEngine.CoreModule.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UnityEngine.CoreModule.dll.bytes new file mode 100644 index 0000000..78ff6bc Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UnityEngine.CoreModule.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UnityEngine.JSONSerializeModule.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UnityEngine.JSONSerializeModule.dll.bytes new file mode 100644 index 0000000..ae59891 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/UnityEngine.JSONSerializeModule.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/YooAsset.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/YooAsset.dll.bytes new file mode 100644 index 0000000..374a81f Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/YooAsset.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/mscorlib.dll.bytes b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/mscorlib.dll.bytes new file mode 100644 index 0000000..d0d8d77 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/Aot/mscorlib.dll.bytes differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Raw/AssetBundles/iOS/asset_bundle_config.bin b/UnityLibrary/UnityFramework.framework/Data/Raw/AssetBundles/iOS/asset_bundle_config.bin new file mode 100644 index 0000000..c60db06 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Raw/AssetBundles/iOS/asset_bundle_config.bin differ diff --git a/UnityLibrary/UnityFramework.framework/Data/Resources/unity_builtin_extra b/UnityLibrary/UnityFramework.framework/Data/Resources/unity_builtin_extra new file mode 100644 index 0000000..d68a3d1 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/Resources/unity_builtin_extra differ diff --git a/UnityLibrary/UnityFramework.framework/Data/RuntimeInitializeOnLoads.json b/UnityLibrary/UnityFramework.framework/Data/RuntimeInitializeOnLoads.json new file mode 100644 index 0000000..f02d5fb --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Data/RuntimeInitializeOnLoads.json @@ -0,0 +1 @@ +{"root":[{"assemblyName":"Assembly-CSharp","nameSpace":"","className":"SkipUnityLogo","methodName":"BeforeSplashScreen","loadTypes":3,"isUnityClass":false},{"assemblyName":"AudioKit","nameSpace":"QFramework","className":"Architecture","methodName":"AutoInit","loadTypes":1,"isUnityClass":false},{"assemblyName":"Coffee.UIEffect","nameSpace":"Coffee.UIEffectInternal","className":"UIExtraCallbacks","methodName":"InitializeOnLoad","loadTypes":1,"isUnityClass":false},{"assemblyName":"Coffee.UIEffect","nameSpace":"Coffee.UIEffects","className":"ImageProxy","methodName":"InitializeOnLoad","loadTypes":1,"isUnityClass":false},{"assemblyName":"Coffee.UIEffect","nameSpace":"Coffee.UIEffects","className":"TmpProxy","methodName":"RuntimeInitializeOnLoadMethod","loadTypes":1,"isUnityClass":false},{"assemblyName":"Coffee.UIEffect","nameSpace":"Coffee.UIEffects","className":"TmpProxy","methodName":"InitializeOnLoad","loadTypes":1,"isUnityClass":false},{"assemblyName":"Coffee.UIParticle","nameSpace":"Coffee.UIParticleInternal","className":"UIExtraCallbacks","methodName":"InitializeOnLoad","loadTypes":1,"isUnityClass":false},{"assemblyName":"Coffee.UIParticle","nameSpace":"Coffee.UIExtensions","className":"UIParticleUpdater","methodName":"InitializeOnLoad","loadTypes":1,"isUnityClass":false},{"assemblyName":"IngameDebugConsole.Runtime","nameSpace":"IngameDebugConsole","className":"DebugLogConsole","methodName":"ResetStatics","loadTypes":4,"isUnityClass":false},{"assemblyName":"QFramework.CoreKit","nameSpace":"QFramework","className":"DeprecateActionKit","methodName":"InitNodeSystem","loadTypes":0,"isUnityClass":false},{"assemblyName":"QFramework.CoreKit","nameSpace":"QFramework","className":"LocaleKit","methodName":"AutoInit","loadTypes":1,"isUnityClass":false},{"assemblyName":"QFramework","nameSpace":"QFramework","className":"ComparerAutoRegister","methodName":"AutoRegister","loadTypes":1,"isUnityClass":false},{"assemblyName":"ResKit","nameSpace":"QFramework","className":"Architecture","methodName":"AutoInit","loadTypes":1,"isUnityClass":false},{"assemblyName":"spine-unity","nameSpace":"Spine.Unity.AttachmentTools","className":"AtlasUtilities","methodName":"Init","loadTypes":4,"isUnityClass":false},{"assemblyName":"SupportOldQF","nameSpace":"QFramework","className":"AudioKitWithResKitInit","methodName":"Init","loadTypes":1,"isUnityClass":false},{"assemblyName":"SupportOldQF","nameSpace":"QFramework","className":"UIKitWithResKitInit","methodName":"Init","loadTypes":1,"isUnityClass":false},{"assemblyName":"Unity.2D.Animation.Runtime","nameSpace":"","className":"$BurstDirectCallInitializer","methodName":"Initialize","loadTypes":2,"isUnityClass":true},{"assemblyName":"Unity.Collections","nameSpace":"","className":"$BurstDirectCallInitializer","methodName":"Initialize","loadTypes":2,"isUnityClass":true},{"assemblyName":"Unity.RenderPipelines.Core.Runtime","nameSpace":"UnityEngine.Experimental.Rendering","className":"XRSystem","methodName":"XRSystemInit","loadTypes":3,"isUnityClass":true},{"assemblyName":"Unity.RenderPipelines.Core.Runtime","nameSpace":"UnityEngine.Rendering","className":"DebugUpdater","methodName":"RuntimeInit","loadTypes":0,"isUnityClass":true},{"assemblyName":"Unity.VisualScripting.Core","nameSpace":"Unity.VisualScripting","className":"RuntimeVSUsageUtility","methodName":"RuntimeInitializeOnLoadBeforeSceneLoad","loadTypes":1,"isUnityClass":true}]} diff --git a/UnityLibrary/UnityFramework.framework/Data/ScriptingAssemblies.json b/UnityLibrary/UnityFramework.framework/Data/ScriptingAssemblies.json new file mode 100644 index 0000000..32cb07b --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Data/ScriptingAssemblies.json @@ -0,0 +1 @@ +{"names":["UnityEngine.dll","UnityEngine.AIModule.dll","UnityEngine.ARModule.dll","UnityEngine.AccessibilityModule.dll","UnityEngine.AndroidJNIModule.dll","UnityEngine.AnimationModule.dll","UnityEngine.AssetBundleModule.dll","UnityEngine.AudioModule.dll","UnityEngine.ClothModule.dll","UnityEngine.ContentLoadModule.dll","UnityEngine.CoreModule.dll","UnityEngine.CrashReportingModule.dll","UnityEngine.DSPGraphModule.dll","UnityEngine.DirectorModule.dll","UnityEngine.GIModule.dll","UnityEngine.GameCenterModule.dll","UnityEngine.GridModule.dll","UnityEngine.HotReloadModule.dll","UnityEngine.IMGUIModule.dll","UnityEngine.ImageConversionModule.dll","UnityEngine.InputModule.dll","UnityEngine.InputLegacyModule.dll","UnityEngine.JSONSerializeModule.dll","UnityEngine.LocalizationModule.dll","UnityEngine.ParticleSystemModule.dll","UnityEngine.PerformanceReportingModule.dll","UnityEngine.PhysicsModule.dll","UnityEngine.Physics2DModule.dll","UnityEngine.ProfilerModule.dll","UnityEngine.PropertiesModule.dll","UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll","UnityEngine.ScreenCaptureModule.dll","UnityEngine.SharedInternalsModule.dll","UnityEngine.SpriteMaskModule.dll","UnityEngine.SpriteShapeModule.dll","UnityEngine.StreamingModule.dll","UnityEngine.SubstanceModule.dll","UnityEngine.SubsystemsModule.dll","UnityEngine.TLSModule.dll","UnityEngine.TerrainModule.dll","UnityEngine.TerrainPhysicsModule.dll","UnityEngine.TextCoreFontEngineModule.dll","UnityEngine.TextCoreTextEngineModule.dll","UnityEngine.TextRenderingModule.dll","UnityEngine.TilemapModule.dll","UnityEngine.UIModule.dll","UnityEngine.UIElementsModule.dll","UnityEngine.UmbraModule.dll","UnityEngine.UnityAnalyticsModule.dll","UnityEngine.UnityAnalyticsCommonModule.dll","UnityEngine.UnityConnectModule.dll","UnityEngine.UnityCurlModule.dll","UnityEngine.UnityTestProtocolModule.dll","UnityEngine.UnityWebRequestModule.dll","UnityEngine.UnityWebRequestAssetBundleModule.dll","UnityEngine.UnityWebRequestAudioModule.dll","UnityEngine.UnityWebRequestTextureModule.dll","UnityEngine.UnityWebRequestWWWModule.dll","UnityEngine.VFXModule.dll","UnityEngine.VRModule.dll","UnityEngine.VehiclesModule.dll","UnityEngine.VideoModule.dll","UnityEngine.WindModule.dll","UnityEngine.XRModule.dll","Assembly-CSharp.dll","Unity.2D.IK.Runtime.dll","HybridCLR.Runtime.dll","Unity.RenderPipelines.Core.Runtime.dll","Utilities.dll","YooAsset.dll","Unity.ScriptableBuildPipeline.dll","QFramework.CoreKit.dll","Coffee.UIEffect.dll","spine-csharp.dll","FlutterUnityIntegration.Runtime.dll","Unity.RenderPipelines.Universal.Config.Runtime.dll","Unity.VisualScripting.Flow.dll","SupportOldQF.dll","Unity.RenderPipelines.Core.ShaderLibrary.dll","ResKit.dll","Unity.Collections.dll","UIKit.dll","Unity.2D.PixelPerfect.dll","spine-unity.dll","Unity.TextMeshPro.dll","Unity.VisualScripting.DocCodeExamples.dll","Coffee.UIParticle.dll","DOTween.Modules.dll","QFramework.dll","Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary.dll","UnlimitedScrollUI.dll","Unity.RenderPipelines.Universal.Runtime.dll","Unity.Burst.dll","MEC.dll","UnlimitedScrollUIExample.dll","Unity.VisualScripting.Core.dll","Unity.2D.Animation.Runtime.dll","UnityEngine.UI.dll","Unity.RenderPipelines.Universal.2D.Internal.dll","SimpleInspectorAttributes.dll","Unity.InternalAPIEngineBridge.001.dll","Unity.2D.Common.Runtime.dll","Unity.RenderPipeline.Universal.ShaderLibrary.dll","Unity.Timeline.dll","AudioKit.dll","Builtin.dll","Unity.Mathematics.dll","UnityWebSocket.Runtime.dll","Unity.RenderPipelines.Universal.Shaders.dll","IngameDebugConsole.Runtime.dll","Unity.VisualScripting.State.dll","SimpleScrollSnap.dll","Unity.Collections.LowLevel.ILSupport.dll","DOTween.dll","System.Runtime.CompilerServices.Unsafe.dll","Coffee.UIEffect.R.dll","Unity.VisualScripting.Antlr3.Runtime.dll","Unity.Burst.Unsafe.dll","Newtonsoft.Json.dll","Coffee.UIParticle.R.dll","Google.Protobuf.dll","GameCommon.dll","Game104.dll"],"types":[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]} \ No newline at end of file diff --git a/UnityLibrary/UnityFramework.framework/Data/boot.config b/UnityLibrary/UnityFramework.framework/Data/boot.config new file mode 100644 index 0000000..26ef359 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Data/boot.config @@ -0,0 +1,4 @@ +wait-for-native-debugger=0 +hdr-display-enabled=0 +gc-max-time-slice=3 +build-guid=581c492e0cd84ddabe612acfa49a91d3 diff --git a/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers b/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers new file mode 100644 index 0000000..6726281 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers differ diff --git a/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers.assets b/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers.assets new file mode 100644 index 0000000..97f3623 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers.assets differ diff --git a/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers.assets.resS b/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers.assets.resS new file mode 100644 index 0000000..06965b0 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/globalgamemanagers.assets.resS differ diff --git a/UnityLibrary/UnityFramework.framework/Data/level0 b/UnityLibrary/UnityFramework.framework/Data/level0 new file mode 100644 index 0000000..5287370 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/level0 differ diff --git a/UnityLibrary/UnityFramework.framework/Data/resources.assets b/UnityLibrary/UnityFramework.framework/Data/resources.assets new file mode 100644 index 0000000..97f04c0 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/resources.assets differ diff --git a/UnityLibrary/UnityFramework.framework/Data/resources.assets.resS b/UnityLibrary/UnityFramework.framework/Data/resources.assets.resS new file mode 100644 index 0000000..93a56ad Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/resources.assets.resS differ diff --git a/UnityLibrary/UnityFramework.framework/Data/sharedassets0.assets b/UnityLibrary/UnityFramework.framework/Data/sharedassets0.assets new file mode 100644 index 0000000..015ee14 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/sharedassets0.assets differ diff --git a/UnityLibrary/UnityFramework.framework/Data/sharedassets0.assets.resS b/UnityLibrary/UnityFramework.framework/Data/sharedassets0.assets.resS new file mode 100644 index 0000000..004c39d Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/sharedassets0.assets.resS differ diff --git a/UnityLibrary/UnityFramework.framework/Data/unity default resources b/UnityLibrary/UnityFramework.framework/Data/unity default resources new file mode 100644 index 0000000..e23629b Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Data/unity default resources differ diff --git a/UnityLibrary/UnityFramework.framework/Headers/LifeCycleListener.h b/UnityLibrary/UnityFramework.framework/Headers/LifeCycleListener.h new file mode 100644 index 0000000..6471baa --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Headers/LifeCycleListener.h @@ -0,0 +1,29 @@ +#pragma once + +// important app life-cycle events + +@protocol LifeCycleListener +@optional +- (void)didFinishLaunching:(NSNotification*)notification; +- (void)didBecomeActive:(NSNotification*)notification; +- (void)willResignActive:(NSNotification*)notification; +- (void)didEnterBackground:(NSNotification*)notification; +- (void)willEnterForeground:(NSNotification*)notification; +- (void)willTerminate:(NSNotification*)notification; +- (void)unityDidUnload:(NSNotification*)notification; +- (void)unityDidQuit:(NSNotification*)notification; +@end + +void UnityRegisterLifeCycleListener(id obj); +void UnityUnregisterLifeCycleListener(id obj); + +#ifdef __cplusplus +extern "C" { +#endif + +extern __attribute__((visibility("default"))) NSString* const kUnityDidUnload; +extern __attribute__((visibility("default"))) NSString* const kUnityDidQuit; + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/UnityLibrary/UnityFramework.framework/Headers/RedefinePlatforms.h b/UnityLibrary/UnityFramework.framework/Headers/RedefinePlatforms.h new file mode 100644 index 0000000..20258eb --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Headers/RedefinePlatforms.h @@ -0,0 +1,186 @@ +// DO NOT PUT #pragma once or include guard check here +// This header is designed to be able to be included multiple times + +// This header is used to redefine platforms after they were temporary undefined by UndefinePlatforms.h +// Please make sure to always use this paired with the UndefinePlatforms.h header. +// +// ex. +// +// #include "UndefinePlatforms.h" +// #include "Some3rdParty.h" +// #include "RedefinePlatforms.h" + +#ifndef DETAIL__PLATFORMS_HAD_BEEN_UNDEFINED_BY_UNDEFINEPLATFORMS_H + #error "RedefinePlatforms.h can only be used after UndefinePlatforms.h got included before." +#endif + +#undef DETAIL__PLATFORMS_HAD_BEEN_UNDEFINED_BY_UNDEFINEPLATFORMS_H + +// define all other platforms to 0 +#undef PLATFORM_WIN +#if defined(DETAIL__TEMP_PLATFORM_WIN_WAS_1) + #undef DETAIL__TEMP_PLATFORM_WIN_WAS_1 + #define PLATFORM_WIN 1 +#else + #define PLATFORM_WIN 0 +#endif + +#undef PLATFORM_OSX +#if defined(DETAIL__TEMP_PLATFORM_OSX_WAS_1) + #undef DETAIL__TEMP_PLATFORM_OSX_WAS_1 + #define PLATFORM_OSX 1 +#else + #define PLATFORM_OSX 0 +#endif + +#undef PLATFORM_LINUX +#if defined(DETAIL__TEMP_PLATFORM_LINUX_WAS_1) + #undef DETAIL__TEMP_PLATFORM_LINUX_WAS_1 + #define PLATFORM_LINUX 1 +#else + #define PLATFORM_LINUX 0 +#endif + +#undef PLATFORM_WINRT +#if defined(DETAIL__TEMP_PLATFORM_WINRT_WAS_1) + #undef DETAIL__TEMP_PLATFORM_WINRT_WAS_1 + #define PLATFORM_WINRT 1 +#else + #define PLATFORM_WINRT 0 +#endif + +#undef PLATFORM_FAMILY_WINDOWSGAMES +#if defined(DETAIL__TEMP_PLATFORM_FAMILY_WINDOWSGAMES_WAS_1) + #undef DETAIL__TEMP_PLATFORM_FAMILY_WINDOWSGAMES_WAS_1 + #define PLATFORM_FAMILY_WINDOWSGAMES 1 +#else + #define PLATFORM_FAMILY_WINDOWSGAMES 0 +#endif + +#undef PLATFORM_WEBGL +#if defined(DETAIL__TEMP_PLATFORM_WEBGL_WAS_1) + #undef DETAIL__TEMP_PLATFORM_WEBGL_WAS_1 + #define PLATFORM_WEBGL 1 +#else + #define PLATFORM_WEBGL 0 +#endif + +#undef PLATFORM_WASI +#if defined(DETAIL__TEMP_PLATFORM_WASI_WAS_1) + #undef DETAIL__TEMP_PLATFORM_WASI_WAS_1 + #define PLATFORM_WASI 1 +#else + #define PLATFORM_WASI 0 +#endif + +#undef PLATFORM_ANDROID +#if defined(DETAIL__TEMP_PLATFORM_ANDROID_WAS_1) + #undef DETAIL__TEMP_PLATFORM_ANDROID_WAS_1 + #define PLATFORM_ANDROID 1 +#else + #define PLATFORM_ANDROID 0 +#endif + +#undef PLATFORM_PS4 +#if defined(DETAIL__TEMP_PLATFORM_PS4_WAS_1) + #undef DETAIL__TEMP_PLATFORM_PS4_WAS_1 + #define PLATFORM_PS4 1 +#else + #define PLATFORM_PS4 0 +#endif + +#undef PLATFORM_PS5 +#if defined(DETAIL__TEMP_PLATFORM_PS5_WAS_1) + #undef DETAIL__TEMP_PLATFORM_PS5_WAS_1 + #define PLATFORM_PS5 1 +#else + #define PLATFORM_PS5 0 +#endif + +#undef PLATFORM_IPHONE +#if defined(DETAIL__TEMP_PLATFORM_IPHONE_WAS_1) + #undef DETAIL__TEMP_PLATFORM_IPHONE_WAS_1 + #define PLATFORM_IPHONE 1 +#else + #define PLATFORM_IPHONE 0 +#endif + +#undef PLATFORM_IOS +#if defined(DETAIL__TEMP_PLATFORM_IOS_WAS_1) + #undef DETAIL__TEMP_PLATFORM_IOS_WAS_1 + #define PLATFORM_IOS 1 +#else + #define PLATFORM_IOS 0 +#endif + +#undef PLATFORM_TVOS +#if defined(DETAIL__TEMP_PLATFORM_TVOS_WAS_1) + #undef DETAIL__TEMP_PLATFORM_TVOS_WAS_1 + #define PLATFORM_TVOS 1 +#else + #define PLATFORM_TVOS 0 +#endif + +#undef PLATFORM_VISIONOS +#if defined(DETAIL__TEMP_PLATFORM_VISIONOS_WAS_1) +#undef DETAIL__TEMP_PLATFORM_VISIONOS_WAS_1 +#define PLATFORM_VISIONOS 1 +#else +#define PLATFORM_VISIONOS 0 +#endif + +#undef PLATFORM_XBOXONE +#if defined(DETAIL__TEMP_PLATFORM_XBOXONE_WAS_1) + #undef DETAIL__TEMP_PLATFORM_XBOXONE_WAS_1 + #define PLATFORM_XBOXONE 1 +#else + #define PLATFORM_XBOXONE 0 +#endif + +#undef PLATFORM_SWITCH +#if defined(DETAIL__TEMP_PLATFORM_SWITCH_WAS_1) + #undef DETAIL__TEMP_PLATFORM_SWITCH_WAS_1 + #define PLATFORM_SWITCH 1 +#else + #define PLATFORM_SWITCH 0 +#endif + +#undef PLATFORM_LUMIN +#if defined(DETAIL__TEMP_PLATFORM_LUMIN_WAS_1) + #undef DETAIL__TEMP_PLATFORM_LUMIN_WAS_1 + #define PLATFORM_LUMIN 1 +#else + #define PLATFORM_LUMIN 0 +#endif + +#undef PLATFORM_STADIA +#if defined(DETAIL__TEMP_PLATFORM_STADIA_WAS_1) + #undef DETAIL__TEMP_PLATFORM_STADIA_WAS_1 + #define PLATFORM_STADIA 1 +#else + #define PLATFORM_STADIA 0 +#endif + +#undef PLATFORM_NETBSD +#if defined(DETAIL__TEMP_PLATFORM_NETBSD_WAS_1) + #undef DETAIL__TEMP_PLATFORM_NETBSD_WAS_1 + #define PLATFORM_NETBSD 1 +#else + #define PLATFORM_NETBSD 0 +#endif + +#undef PLATFORM_EMBEDDED_LINUX +#if defined(DETAIL__TEMP_PLATFORM_EMBEDDED_LINUX_WAS_1) + #undef DETAIL__TEMP_PLATFORM_EMBEDDED_LINUX_WAS_1 + #define PLATFORM_EMBEDDED_LINUX 1 +#else + #define PLATFORM_EMBEDDED_LINUX 0 +#endif + +#undef PLATFORM_QNX +#if defined(DETAIL__TEMP_PLATFORM_QNX_WAS_1) + #undef DETAIL__TEMP_PLATFORM_QNX_WAS_1 + #define PLATFORM_QNX 1 +#else + #define PLATFORM_QNX 0 +#endif diff --git a/UnityLibrary/UnityFramework.framework/Headers/RenderPluginDelegate.h b/UnityLibrary/UnityFramework.framework/Headers/RenderPluginDelegate.h new file mode 100644 index 0000000..9bf16b9 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Headers/RenderPluginDelegate.h @@ -0,0 +1,68 @@ +#pragma once + +#include "LifeCycleListener.h" + +struct UnityDisplaySurfaceBase; // Unity/UnityRendering.h +struct RenderingSurfaceParams; // Unity/DisplayManager.h + +// due to delicate nature of render loop we have just one delegate in app +// if you need to use several rendering delegates you need to do one of: +// 1. create custom delegate that will have code to combine effects by itself +// 2. use helper that simply holds array of delegates (which will work only in easiest cases) +@protocol RenderPluginDelegate + +@required +// this will be called right after gles intialization. +// surface pointer will never be changed, so you should keep it. +// the only valid fields in there as of now are layer and context +- (void)mainDisplayInited:(struct UnityDisplaySurfaceBase*)surface; + +@optional + +// this will be called before recreating main display surface (from [UnityView recreateRenderingSurface]) +// you can tweak params here. +// use it for enabling CVTextureCache support and the likes +- (void)onBeforeMainDisplaySurfaceRecreate:(struct RenderingSurfaceParams*)params; + +// this will be called right after recreating main display surface (from [UnityView recreateRenderingSurface]) +// as [UnityView recreateRenderingSurface] is the only place where unity itself will trigger surface recreate +// you can use this method to update your rendering depending on changes +- (void)onAfterMainDisplaySurfaceRecreate; + +// this will be called after frame render and msaa resolve but before blitting to system FB +// you can expect that frame contents are ready (though still in target resolution) +// use it for anylizing/postprocessing rendered frame, taking screenshot and the like +// you should use targetFB if it is not 0 +// otherwise use systemFB (covers case of intermediate fb not needed: no msaa, native res, no CVTextureCache involved) +- (void)onFrameResolved; +@end + + +// simple helper for common plugin stuff +// you can implement protocol directly, but subclassing this will provide some common implementation +@interface RenderPluginDelegate : NSObject +{ + struct UnityDisplaySurfaceBase* mainDisplaySurface; +} +- (void)mainDisplayInited:(struct UnityDisplaySurfaceBase*)surface; +@end + + +// simple helper to have an array of render delegates. +// be warned that it works in simplest cases only, when there is no interop between delegates +@interface RenderPluginArrayDelegate : RenderPluginDelegate +{ + NSArray* delegateArray; +} +@property(nonatomic, retain) NSArray* delegateArray; +- (void)mainDisplayInited:(struct UnityDisplaySurfaceBase*)surface; +- (void)onBeforeMainDisplaySurfaceRecreate:(struct RenderingSurfaceParams*)params; +- (void)onAfterMainDisplaySurfaceRecreate; +- (void)onFrameResolved; + +- (void)didBecomeActive:(NSNotification*)notification; +- (void)willResignActive:(NSNotification*)notification; +- (void)didEnterBackground:(NSNotification*)notification; +- (void)willEnterForeground:(NSNotification*)notification; +- (void)willTerminate:(NSNotification*)notification; +@end diff --git a/UnityLibrary/UnityFramework.framework/Headers/UndefinePlatforms.h b/UnityLibrary/UnityFramework.framework/Headers/UndefinePlatforms.h new file mode 100644 index 0000000..bcccd31 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Headers/UndefinePlatforms.h @@ -0,0 +1,123 @@ +// DO NOT PUT #pragma once or include guard check here +// This header is designed to be able to be included multiple times + +// This header is used to temporary undefine all platform definitions in case there is a naming conflict with +// 3rd party code. Please make sure to always use this paired with the RedefinePlatforms.h header. +// +// ex. +// +// #include "UndefinePlatforms.h" +// #include "Some3rdParty.h" +// #include "RedefinePlatforms.h" + +#ifdef DETAIL__PLATFORMS_HAD_BEEN_UNDEFINED_BY_UNDEFINEPLATFORMS_H +#error "UndefinePlatforms.h has been included more than once or RedefinePlatforms.h is missing." +#endif + +// define all other platforms to 0 +#if PLATFORM_WIN + #define DETAIL__TEMP_PLATFORM_WIN_WAS_1 +#endif +#undef PLATFORM_WIN + +#if PLATFORM_OSX + #define DETAIL__TEMP_PLATFORM_OSX_WAS_1 +#endif +#undef PLATFORM_OSX + +#if PLATFORM_LINUX + #define DETAIL__TEMP_PLATFORM_LINUX_WAS_1 +#endif +#undef PLATFORM_LINUX + +#if PLATFORM_WINRT + #define DETAIL__TEMP_PLATFORM_WINRT_WAS_1 +#endif +#undef PLATFORM_WINRT + +#if PLATFORM_FAMILY_WINDOWSGAMES + #define DETAIL__TEMP_PLATFORM_FAMILY_WINDOWSGAMES_WAS_1 +#endif +#undef PLATFORM_FAMILY_WINDOWSGAMES + +#if PLATFORM_WEBGL + #define DETAIL__TEMP_PLATFORM_WEBGL_WAS_1 +#endif +#undef PLATFORM_WEBGL + +#if PLATFORM_WASI + #define DETAIL__TEMP_PLATFORM_WASI_WAS_1 +#endif +#undef PLATFORM_WASI + +#if PLATFORM_ANDROID + #define DETAIL__TEMP_PLATFORM_ANDROID_WAS_1 +#endif +#undef PLATFORM_ANDROID + +#if PLATFORM_PS4 + #define DETAIL__TEMP_PLATFORM_PS4_WAS_1 +#endif +#undef PLATFORM_PS4 + +#if PLATFORM_PS5 + #define DETAIL__TEMP_PLATFORM_PS5_WAS_1 +#endif +#undef PLATFORM_PS5 + +#if PLATFORM_IPHONE + #define DETAIL__TEMP_PLATFORM_IPHONE_WAS_1 +#endif +#undef PLATFORM_IPHONE + +#if PLATFORM_IOS + #define DETAIL__TEMP_PLATFORM_IOS_WAS_1 +#endif +#undef PLATFORM_IOS + +#if PLATFORM_TVOS + #define DETAIL__TEMP_PLATFORM_TVOS_WAS_1 +#endif +#undef PLATFORM_TVOS + +#if PLATFORM_VISIONOS +#define DETAIL__TEMP_PLATFORM_VISIONOS_WAS_1 +#endif +#undef PLATFORM_VISIONOS + +#if PLATFORM_XBOXONE + #define DETAIL__TEMP_PLATFORM_XBOXONE_WAS_1 +#endif +#undef PLATFORM_XBOXONE + +#if PLATFORM_SWITCH + #define DETAIL__TEMP_PLATFORM_SWITCH_WAS_1 +#endif +#undef PLATFORM_SWITCH + +#if PLATFORM_LUMIN + #define DETAIL__TEMP_PLATFORM_LUMIN_WAS_1 +#endif +#undef PLATFORM_LUMIN + +#if PLATFORM_STADIA + #define DETAIL__TEMP_PLATFORM_STADIA_WAS_1 +#endif +#undef PLATFORM_STADIA + +#if PLATFORM_NETBSD + #define DETAIL__TEMP_PLATFORM_NETBSD_WAS_1 +#endif +#undef PLATFORM_NETBSD + +#if PLATFORM_EMBEDDED_LINUX + #define DETAIL__TEMP_PLATFORM_EMBEDDED_LINUX_WAS_1 +#endif +#undef PLATFORM_EMBEDDED_LINUX + +#if PLATFORM_QNX + #define DETAIL__TEMP_PLATFORM_QNX_WAS_1 +#endif +#undef PLATFORM_QNX + +#define DETAIL__PLATFORMS_HAD_BEEN_UNDEFINED_BY_UNDEFINEPLATFORMS_H diff --git a/UnityLibrary/UnityFramework.framework/Headers/UnityAppController.h b/UnityLibrary/UnityFramework.framework/Headers/UnityAppController.h new file mode 100644 index 0000000..6520540 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Headers/UnityAppController.h @@ -0,0 +1,140 @@ +#pragma once + +#import + +#include "RenderPluginDelegate.h" + +// Edited by https://github.com/juicycleff/flutter-unity-view-widget + +// Added by https://github.com/juicycleff/flutter-unity-view-widget +typedef void(^unitySceneLoadedCallbackType)(const char* name, const int* buildIndex, const bool* isLoaded, const bool* IsValid); + +typedef void(^unityMessageCallbackType)(const char* message); + +// Added by https://github.com/juicycleff/flutter-unity-view-widget +@protocol UnityEventListener +- (void)onSceneLoaded:(NSString *)name buildIndex:(NSInteger *)bIndex loaded:(bool *)isLoaded valid:(bool *)IsValid; +- (void)onMessage:(NSString *)message; +@end + +@class UnityView; +@class UnityViewControllerBase; +@class DisplayConnection; + +__attribute__ ((visibility("default"))) +@interface UnityAppController : NSObject +{ + UnityView* _unityView; + CADisplayLink* _displayLink; + + UIWindow* _window; + UIView* _rootView; + UIViewController* _rootController; + UIViewController* _snapshotViewController; + + DisplayConnection* _mainDisplay; + + // CODE ARCHEOLOGY: we were caching view controllers, both autorotation one and per-fixed-orientation ones + // CODE ARCHEOLOGY: we stopped doing this as the performance impact is negligible, + // CODE ARCHEOLOGY: yet it introduces corner cases and in general lots of code + +#if UNITY_SUPPORT_ROTATION + UIInterfaceOrientation _curOrientation; +#endif + + id _renderDelegate; +} + +// override it to add your render plugin delegate +- (void)shouldAttachRenderDelegate; + +// this one is called at the very end of didFinishLaunchingWithOptions: +// after views have been created but before initing engine itself +// override it to register plugins, tweak UI etc +- (void)preStartUnity; + +// this one is called at at the very end of didFinishLaunchingWithOptions: +// it will start showing unity view and rendering unity content +- (void)startUnity:(UIApplication*)application; + +// this is a part of UIApplicationDelegate protocol starting with ios5 +// setter will be generated empty +@property (retain, nonatomic) UIWindow* window; + +@property (readonly, copy, nonatomic) UnityView* unityView; +@property (readonly, copy, nonatomic) CADisplayLink* unityDisplayLink; + +@property (readonly, copy, nonatomic) UIView* rootView; +@property (readonly, copy, nonatomic) UIViewController* rootViewController; +@property (readonly, copy, nonatomic) DisplayConnection* mainDisplay; + +#if UNITY_SUPPORT_ROTATION +@property (readonly, nonatomic) UIInterfaceOrientation interfaceOrientation; +#endif + +@property (nonatomic, retain) id renderDelegate; +@property (nonatomic, copy) void (^quitHandler)(void); +@property (nonatomic, copy) void(^unitySceneLoadedHandler)(const char* name, const int* buildIndex, const bool* isLoaded, const bool* IsValid); +@property (nonatomic, copy) void(^unityMessageHandler)(const char* message); +@end + +// accessing app controller +#ifdef __cplusplus +extern "C" { +#endif + +extern UnityAppController* _UnityAppController; +extern UnityAppController* GetAppController(void); + +#ifdef __cplusplus +} // extern "C" +#endif + +// Put this into mm file with your subclass implementation +// pass subclass name to define + +#define IMPL_APP_CONTROLLER_SUBCLASS(ClassName) \ +@interface ClassName(OverrideAppDelegate) \ +{ \ +} \ ++(void)load; \ +@end \ +@implementation ClassName(OverrideAppDelegate) \ ++(void)load \ +{ \ + extern const char* AppControllerClassName; \ + AppControllerClassName = #ClassName; \ +} \ +@end \ + + +// plugins + +#define APP_CONTROLLER_RENDER_PLUGIN_METHOD(method) \ +do { \ + id delegate = GetAppController().renderDelegate; \ + if([delegate respondsToSelector:@selector(method)]) \ + [delegate method]; \ +} while(0) + +#define APP_CONTROLLER_RENDER_PLUGIN_METHOD_ARG(method, arg) \ +do { \ + id delegate = GetAppController().renderDelegate; \ + if([delegate respondsToSelector:@selector(method:)]) \ + [delegate method:arg]; \ +} while(0) + + +// these are simple wrappers about ios api, added for convenience +void AppController_SendNotification(NSString* name); +void AppController_SendNotificationWithArg(NSString* name, id arg); + +void AppController_SendUnityViewControllerNotification(NSString* name); + +// in the case when apple adds new api that has easy fallback path for old ios +// we will add new api methods at runtime on older ios, so we can switch to new api universally +// in that case we still need actual declaration: we will do it here as it is the most convenient place + +// history: +// [CADisplayLink preferredFramesPerSecond], [UIScreen maximumFramesPerSecond], [UIView safeAreaInsets] +// were removed after we started to enforce xcode9 (sdk 11) diff --git a/UnityLibrary/UnityFramework.framework/Headers/UnityFramework.h b/UnityLibrary/UnityFramework.framework/Headers/UnityFramework.h new file mode 100644 index 0000000..82ed840 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Headers/UnityFramework.h @@ -0,0 +1,67 @@ +#import +#import + +#import + +// this is coming from mach-o/ldsyms.h +// we were including this header header here directly + +// alas we were including directly in UnityFramework.h (for mach_header definition) +// instead of doing forward declaration and using, say, void pointers in unity c-interface +// and this resulted in code in the wild that uses _mh_execute_header directly without this include +// now, with C++/ObjC++ modules support we end up in a funny situation, +// where we need to include UndefinePlatforms/RedefinePlatforms quoted which gives a warning +// thankfully, we can easily provide the definition of _mh_execute_header ourselves + +typedef struct mach_header_64 MachHeader; +extern const struct mach_header_64 _mh_execute_header; + +//! Project version number for UnityFramework. +FOUNDATION_EXPORT double UnityFrameworkVersionNumber; + +//! Project version string for UnityFramework. +FOUNDATION_EXPORT const unsigned char UnityFrameworkVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + +#pragma once + +// important app life-cycle events +__attribute__ ((visibility("default"))) +@protocol UnityFrameworkListener +@optional +- (void)unityDidUnload:(NSNotification*)notification; +- (void)unityDidQuit:(NSNotification*)notification; +@end + +__attribute__ ((visibility("default"))) +@interface UnityFramework : NSObject +{ +} + +- (UnityAppController*)appController; + +- (UITextField*)keyboardTextField; + ++ (UnityFramework*)getInstance; + +- (void)setDataBundleId:(const char*)bundleId; + +- (void)runUIApplicationMainWithArgc:(int)argc argv:(char*[])argv; +- (void)runEmbeddedWithArgc:(int)argc argv:(char*[])argv appLaunchOpts:(NSDictionary*)appLaunchOpts; + +- (void)unloadApplication; +- (void)quitApplication:(int)exitCode; + +- (void)registerFrameworkListener:(id)obj; +- (void)unregisterFrameworkListener:(id)obj; + +- (void)showUnityWindow; +- (void)pause:(bool)pause; + +- (void)setAbsoluteURL:(const char *)url; + +- (void)setExecuteHeader:(const MachHeader*)header; +- (void)sendMessageToGOWithName:(const char*)goName functionName:(const char*)name message:(const char*)msg; + +@end diff --git a/UnityLibrary/UnityFramework.framework/Info.plist b/UnityLibrary/UnityFramework.framework/Info.plist new file mode 100644 index 0000000..08fbcce Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/Info.plist differ diff --git a/UnityLibrary/UnityFramework.framework/Modules/module.modulemap b/UnityLibrary/UnityFramework.framework/Modules/module.modulemap new file mode 100644 index 0000000..7657362 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module UnityFramework { + umbrella header "UnityFramework.h" + export * + + module * { export * } +} diff --git a/UnityLibrary/UnityFramework.framework/PrivacyInfo.xcprivacy b/UnityLibrary/UnityFramework.framework/PrivacyInfo.xcprivacy new file mode 100644 index 0000000..3223a85 --- /dev/null +++ b/UnityLibrary/UnityFramework.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,41 @@ + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryDiskSpace + NSPrivacyAccessedAPITypeReasons + + E174.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + 0A2A.1 + C617.1 + + + + + diff --git a/UnityLibrary/UnityFramework.framework/UnityFramework b/UnityLibrary/UnityFramework.framework/UnityFramework new file mode 100755 index 0000000..8de23c8 Binary files /dev/null and b/UnityLibrary/UnityFramework.framework/UnityFramework differ diff --git a/UnityLibrary/UnityFramework.podspec b/UnityLibrary/UnityFramework.podspec new file mode 100644 index 0000000..f70f932 --- /dev/null +++ b/UnityLibrary/UnityFramework.podspec @@ -0,0 +1,55 @@ +Pod::Spec.new do |s| + s.name = 'UnityFramework' + s.version = '1.0.0' + s.summary = 'Local Unity iOS Framework' + s.description = 'Local development pod for Unity iOS export.' + s.homepage = 'http://localhost' + s.license = { :type => 'MIT' } + s.author = { 'dev' => 'dev@local' } + + # Unity iOS 工程路径 + s.source = { :path => '.' } + + # iOS 13 起 + s.platform = :ios, '13.0' + + # UnityFramework.framework + s.vendored_frameworks = 'UnityFramework.framework' + + # 注意:Data 在 framework 内部,会自动包含 + # 如需额外资源可在此添加 + + # 保留所有符号 + s.preserve_paths = [ + 'UnityFramework.framework' + ] + + # 链接依赖 + s.frameworks = [ + 'ARKit', 'AVFoundation', 'AudioToolbox', 'CoreGraphics', + 'CoreMedia', 'CoreMotion', 'CoreVideo', 'GameController', + 'Metal', 'OpenGLES', 'QuartzCore', 'UIKit', 'WebKit', + 'Security', 'MobileCoreServices' + ] + + s.libraries = 'z', 'c++' + + # 允许非模块化头 + s.pod_target_xcconfig = { + 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES', + 'ENABLE_BITCODE' => 'NO', + # 模拟器排除 arm64(当 framework 不包含模拟器架构时) + 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' + } + + s.user_target_xcconfig = { + 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' + } + + # 如需同时支持真机和模拟器,请: + # 1. 从 Unity 导出模拟器版本的 framework + # 2. 使用 lipo 合并: + # lipo -create Device/UnityFramework Simulator/UnityFramework -output UnityFramework + # 3. 然后移除上面的 EXCLUDED_ARCHS 配置 +end +