更新版本号至1.0.28.1,移除调试代码,新增隐私信息文件,优化房间消息处理逻辑,增加网络检测相关功能,调整部分接口参数,修复UI问题,更新本地化字符串,更新 SUD SDK
This commit is contained in:
@@ -13695,7 +13695,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.60;
|
||||
MARKETING_VERSION = 20.20.61;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
@@ -14028,7 +14028,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 20.20.60;
|
||||
MARKETING_VERSION = 20.20.61;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
|
@@ -123,18 +123,6 @@
|
||||
[Api faceTabNewList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200) {
|
||||
[[XPRoomFaceTool shareFaceTool] cacheChatFaces:data.data];
|
||||
#if DEBUG
|
||||
NSArray *arr = [[XPRoomFaceTool shareFaceTool] loadFaceTabs];
|
||||
ChatFaceResponse *tab = [arr xpSafeObjectAtIndex:0];
|
||||
if (tab) {
|
||||
ChatFaceVo *vo = [tab.faceNewVoList xpSafeObjectAtIndex:0];
|
||||
if (vo) {
|
||||
[[XPRoomFaceTool shareFaceTool] loadFace:^(NSString * _Nonnull path) {
|
||||
|
||||
} with:vo];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
@@ -46,7 +46,7 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
#define kFontHeavy(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightHeavy]
|
||||
|
||||
///内置版本号
|
||||
#define PI_App_Version @"1.0.28"
|
||||
#define PI_App_Version @"1.0.28.1"
|
||||
///渠道
|
||||
#define PI_App_Source @"appstore"
|
||||
#define PI_Test_Flight @"TestFlight"
|
||||
|
@@ -580,6 +580,62 @@
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.Bloom",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.ChannelMixer",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.ChromaticAberration",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.ColorAdjustments",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.ColorCurves",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.ColorLookup",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.DepthOfField",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.FilmGrain",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
@@ -587,6 +643,34 @@
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.LensDistortion",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.LiftGammaGain",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.MotionBlur",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.PaniniProjection",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
@@ -594,6 +678,27 @@
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.ShadowsMidtonesHighlights",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.SplitToning",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.Tonemapping",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
@@ -601,6 +706,20 @@
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.Vignette",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
"fullManagedTypeName": "UnityEngine.Rendering.Universal.WhiteBalance",
|
||||
"moduleName": "",
|
||||
"usedInScenes": []
|
||||
},
|
||||
{
|
||||
"managedAssemblyName": "Unity.RenderPipelines.Universal.Runtime.dll",
|
||||
"nativeClass": "",
|
||||
|
Binary file not shown.
@@ -65,9 +65,26 @@
|
||||
<type fullname="UnityEngine.Rendering.UI.UIFoldout" preserve="nothing"/>
|
||||
</assembly>
|
||||
<assembly fullname="Unity.RenderPipelines.Universal.Runtime">
|
||||
<type fullname="UnityEngine.Rendering.Universal.Bloom" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ChannelMixer" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ChromaticAberration" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ColorAdjustments" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ColorCurves" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ColorLookup" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.DepthOfField" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.FilmGrain" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ForwardRendererData" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.LensDistortion" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.LiftGammaGain" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.MotionBlur" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.PaniniProjection" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.PostProcessData" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.ShadowsMidtonesHighlights" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.SplitToning" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.Tonemapping" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.UniversalRenderPipelineAsset" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.Vignette" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.WhiteBalance" preserve="nothing"/>
|
||||
<type fullname="UnityEngine.Rendering.Universal.XRSystemData" preserve="nothing"/>
|
||||
</assembly>
|
||||
<assembly fullname="Unity.TextMeshPro">
|
||||
|
@@ -1 +1 @@
|
||||
-out="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/tempStrip" -x="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/../platform_native_link.xml" -x="/var/folders/t_/nv6pb43n7gs22s471rm9cds40000gn/T/tmp47b031a8.tmp" -x="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/TypesInScenes.xml" -x="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/SerializedTypes.xml" -x="/Users/herbert/Documents/sudcpp-sdk-unity/Assets/link.xml" -d="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Mirror.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/kcp2k.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Universal.Runtime.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Unity.TextMeshPro.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/ILRuntime.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Core.Runtime.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Mirror.Authenticators.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Telepathy.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/where-allocations.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/SimpleWebTransport.dll" --include-unity-root-assembly="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Mirror.Components.dll" --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed" --rule-set=Conservative --editor-data-file="/Users/herbert/Documents/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json" --platform=iOS --enable-engine-module-stripping --engine-stripping-flag=EnableUnityConnect --engine-stripping-flag=EnablePerformanceReporting --engine-stripping-flag=EnableAnalytics --engine-modules-asset-file="/Applications/Unity/Hub/Editor/2020.3.41f1c1/PlaybackEngines/iOSSupport/modules.asset"
|
||||
-out="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/tempStrip" -x="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/../platform_native_link.xml" -x="/var/folders/x9/5550td_110q12hvkxws9t86w0000gn/T/tmp19a34011.tmp" -x="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/TypesInScenes.xml" -x="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/SerializedTypes.xml" -x="/Users/kaniel/workspaces/sudcpp-sdk-unity/Assets/link.xml" -d="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Mirror.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/kcp2k.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Universal.Runtime.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Arabic.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Unity.TextMeshPro.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/ILRuntime.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Core.Runtime.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Mirror.Authenticators.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Telepathy.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/where-allocations.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/SimpleWebTransport.dll" --include-unity-root-assembly="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/Mirror.Components.dll" --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed" --rule-set=Conservative --editor-data-file="/Users/kaniel/workspaces/sudcpp-sdk-unity/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json" --platform=iOS --enable-engine-module-stripping --engine-stripping-flag=EnableUnityConnect --engine-stripping-flag=EnablePerformanceReporting --engine-stripping-flag=EnableAnalytics --engine-modules-asset-file="/Applications/Unity/Hub/Editor/2020.3.48f1c1/PlaybackEngines/iOSSupport/modules.asset"
|
Binary file not shown.
@@ -1 +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.AutoStreamingModule.dll","UnityEngine.ClothModule.dll","UnityEngine.CloudFoundationModule.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.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.TextCoreModule.dll","UnityEngine.TextRenderingModule.dll","UnityEngine.TilemapModule.dll","UnityEngine.UIModule.dll","UnityEngine.UIElementsModule.dll","UnityEngine.UIElementsNativeModule.dll","UnityEngine.UIWidgetsModule.dll","UnityEngine.UNETModule.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","Mirror.dll","kcp2k.dll","Unity.RenderPipelines.Universal.Shaders.dll","Unity.RenderPipelines.Universal.Runtime.dll","Unity.Timeline.dll","Unity.TextMeshPro.dll","ILRuntime.dll","Unity.RenderPipelines.Core.Runtime.dll","Unity.RenderPipelines.Core.ShaderLibrary.dll","UnityEngine.UI.dll","Unity.Mathematics.dll","Cinemachine.dll","Unity.RenderPipeline.Universal.ShaderLibrary.dll","Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary.dll","Mirror.Authenticators.dll","Telepathy.dll","where-allocations.dll","SimpleWebTransport.dll","Mirror.Components.dll","Debugger.dll","ILRuntime.Mono.Cecil.Mdb.dll","ILRuntime.Mono.Cecil.dll","ILRuntime.Mono.Cecil.Pdb.dll","DOTween.dll","CString.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,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]}
|
||||
{"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.AutoStreamingModule.dll","UnityEngine.ClothModule.dll","UnityEngine.CloudFoundationModule.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.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.TextCoreModule.dll","UnityEngine.TextRenderingModule.dll","UnityEngine.TilemapModule.dll","UnityEngine.UIModule.dll","UnityEngine.UIElementsModule.dll","UnityEngine.UIElementsNativeModule.dll","UnityEngine.UIWidgetsModule.dll","UnityEngine.UNETModule.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","Mirror.dll","kcp2k.dll","Unity.RenderPipelines.Universal.Shaders.dll","Unity.RenderPipelines.Universal.Runtime.dll","Arabic.dll","Unity.Timeline.dll","Unity.TextMeshPro.dll","ILRuntime.dll","Unity.RenderPipelines.Core.Runtime.dll","Unity.RenderPipelines.Core.ShaderLibrary.dll","UnityEngine.UI.dll","Unity.Mathematics.dll","Cinemachine.dll","Unity.RenderPipeline.Universal.ShaderLibrary.dll","Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary.dll","Mirror.Authenticators.dll","Telepathy.dll","where-allocations.dll","SimpleWebTransport.dll","Mirror.Components.dll","Debugger.dll","ILRuntime.Mono.Cecil.Mdb.dll","ILRuntime.Mono.Cecil.dll","ILRuntime.Mono.Cecil.Pdb.dll","DOTween.dll","CString.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,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]}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -15,6 +15,9 @@ typedef NS_ENUM(NSUInteger, GameCheckoutStatus) {
|
||||
/** 下载中 */
|
||||
GAME_CHECKOUT_CHECKOUTING,
|
||||
|
||||
/** 文件下载完成,校验文件完整性 */
|
||||
GAME_CHECKOUT_CHECK_FILE,
|
||||
|
||||
/** 已暂停 */
|
||||
GAME_CHECKOUT_PAUSE,
|
||||
|
||||
|
@@ -29,7 +29,7 @@
|
||||
/// @param mgId 游戏id
|
||||
/// @param mgPath 游戏路径,app assets路径下
|
||||
/// 最低版本:v1.1.52.xx
|
||||
- (void)addEmbeddedMGPkg:(int64_t) mgId mgPath:(NSString*) mgPath;
|
||||
- (void)addEmbeddedMGPkg:(int64_t) mgId mgPath:(NSString*_Nonnull) mgPath;
|
||||
|
||||
/// 移除游戏嵌入包
|
||||
/// @param mgId
|
||||
@@ -40,15 +40,54 @@
|
||||
/// @param mgId 游戏ID
|
||||
/// @return mgPath
|
||||
/// 最低版本:v1.1.52.xx
|
||||
- (NSString *)getEmbeddedMGPkgPath:(int64_t) mgId;
|
||||
- (NSString *_Nullable)getEmbeddedMGPkgPath:(int64_t) mgId;
|
||||
|
||||
/// 设置加载游戏时,是否使用后台模式,默认为true
|
||||
/// 设置加载游戏时,是否使用后台模式,默认为false
|
||||
/// @param mode true: 使用后台模式 false:使用默认模式
|
||||
/// 最低版本:v1.2.7.xx
|
||||
- (void) setBackgroundMode:(BOOL) mode;
|
||||
|
||||
/// 获取加载游戏时,是否使用后台模式,默认为true
|
||||
/// 获取加载游戏时,是否使用后台模式,默认为false
|
||||
/// @return true: 使用后台模式 false:使用默认模式
|
||||
/// 最低版本:v1.2.7.xx
|
||||
- (BOOL) getBackgroundMode;
|
||||
|
||||
/**
|
||||
* 小游戏是否能设置AudioSession的AudioSessionCategory的开关
|
||||
* 是否允许小游戏设置AudioSessionCategory
|
||||
* @param enable
|
||||
* YES: (默认)允许小游戏设置Category
|
||||
* NO: 不允许小游戏设置Category,由应用控制AudioSessionCategory
|
||||
*/
|
||||
- (void)setEnableAudioSessionCategory:(BOOL)enable;
|
||||
|
||||
/**
|
||||
* 小游戏是否能设置AudioSession的AudioSessionCategory的开关
|
||||
* 是否允许小游戏设置AudioSessionCategory
|
||||
* @return YES: (默认)允许小游戏设置Category NO: 不允许小游戏设置Category,由应用控制AudioSessionCategory
|
||||
*/
|
||||
- (BOOL)getEnableAudioSessionCategory;
|
||||
|
||||
/**
|
||||
* 小游戏是否能激活AudioSession(调用setActive)的开关
|
||||
* 是否允许小游戏适时激活AudioSession
|
||||
* @param enable
|
||||
* YES: (默认)允许小游戏适时激活AudioSession
|
||||
* NO: 不允许小游戏适时激活AudioSession, 由应用激活AudioSession
|
||||
*/
|
||||
- (void)setEnableAudioSessionActive:(BOOL)enable;
|
||||
|
||||
/**
|
||||
* 小游戏是否能激活AudioSession(调用setActive)的开关
|
||||
* 是否允许小游戏适时激活AudioSession
|
||||
* @return YES: (默认)允许小游戏适时激活AudioSession NO: 不允许小游戏适时激活AudioSession, 由应用激活AudioSession
|
||||
*/
|
||||
- (BOOL)getEnableAudioSessionActive;
|
||||
|
||||
/// 设置高级配置
|
||||
/// @param advanceConfig 配置选项
|
||||
- (void)setAdvancedConfig:(NSDictionary *_Nullable)advanceConfig;
|
||||
|
||||
/// 获取当前高级配置
|
||||
- (NSDictionary *_Nullable)getAdvancedConfig;
|
||||
@end
|
||||
|
@@ -60,4 +60,4 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
-(void) onPlayerStateChange:(nullable id<ISudFSMStateHandle>) handle userId:(NSString*) userId state:(NSString*) state dataJson:(NSString*) dataJson;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -39,7 +39,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param state state
|
||||
/// @param dataJson example: {"key": "value"}
|
||||
/// @param listener 回调只表示APP状态通知到了小游戏,不表示小游戏执行了别的逻辑代码(比如:游戏业务逻辑网络请求),一般传null。
|
||||
- (void)notifyStateChange:(const NSString *)state dataJson:(NSString *)dataJson listener:(ISudListenerNotifyStateChange) listener;
|
||||
- (void)notifyStateChange:(const NSString *)state dataJson:(NSString *)dataJson listener:(nullable ISudListenerNotifyStateChange) listener;
|
||||
|
||||
/// 继续游戏
|
||||
- (void) playMG;
|
||||
@@ -47,7 +47,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 暂停游戏
|
||||
- (void) pauseMG;
|
||||
|
||||
/// 传入的音频数据必须是:PCM格式,采样率:16000, 采样位数:16, 声道数: MONO
|
||||
/// 传入的音频切片是从RTC获取的PCM数据
|
||||
/// PCM数据格式必须是:采样率:16000, 采样位数:16, 声道数: MONO
|
||||
/// PCM数据长度可以根据效果调整,长度大: 精确度好但延时长 长度小:延时短但牺牲精确度
|
||||
/// @param data pcm数据
|
||||
- (void)pushAudio:(NSData *)data;
|
||||
|
||||
|
14
YuMi/Library/SudMGP.framework/Headers/ISudListener.h
Normal file
14
YuMi/Library/SudMGP.framework/Headers/ISudListener.h
Normal file
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// ISudListener.h
|
||||
// Pods
|
||||
//
|
||||
// Created by kaniel on 2/14/25.
|
||||
//
|
||||
|
||||
#ifndef ISudListener_h
|
||||
#define ISudListener_h
|
||||
#import "SudNetworkCheckParamModel.h"
|
||||
|
||||
typedef void (^INetworkDetectionListener)(SudNetworkDetectionResult *result);
|
||||
|
||||
#endif /* ISudListener_h */
|
@@ -2,7 +2,7 @@
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class GameInfo;
|
||||
@class SudGameInfo;
|
||||
|
||||
typedef void (^ISudListenerGetFQSInfo)(int retCode, const NSString* retMsg);
|
||||
|
||||
|
@@ -2,8 +2,8 @@
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class GameInfo;
|
||||
@class SudGameInfo;
|
||||
|
||||
typedef void (^ISudListenerGetMGInfo)(int retCode, const NSString* retMsg, GameInfo* _Nullable gameInfo);
|
||||
typedef void (^ISudListenerGetMGInfo)(int retCode, const NSString* retMsg, SudGameInfo* _Nullable gameInfo);
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -4,4 +4,4 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef void (^ISudListenerInitSDK)(int retCode, const NSString* retMsg);
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -2,40 +2,20 @@
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
* Priority constant for the println method; use Log.v.
|
||||
*/
|
||||
#define SudLogVERBOSE 2
|
||||
|
||||
/**
|
||||
* Priority constant for the println method; use Log.d.
|
||||
*/
|
||||
#define SudLogDEBUG 3
|
||||
|
||||
/**
|
||||
* Priority constant for the println method; use Log.i.
|
||||
*/
|
||||
#define SudLogINFO 4
|
||||
|
||||
/**
|
||||
* Priority constant for the println method; use Log.w.
|
||||
*/
|
||||
#define SudLogWARN 5
|
||||
|
||||
/**
|
||||
* Priority constant for the println method; use Log.e.
|
||||
*/
|
||||
#define SudLogERROR 6
|
||||
|
||||
/**
|
||||
* Priority constant for the println method.
|
||||
*/
|
||||
#define SudLogASSERT 7
|
||||
/// 日志级别
|
||||
typedef NS_ENUM(NSInteger, SudLogType) {
|
||||
SudLogVERBOSE = 2,
|
||||
SudLogDEBUG = 3,
|
||||
SudLogINFO = 4,
|
||||
SudLogWARN = 5,
|
||||
SudLogERROR = 6,
|
||||
SudLogASSERT = 7
|
||||
};
|
||||
|
||||
@protocol ISudLogger <NSObject>
|
||||
- (void) setLogLevel:(int) level;
|
||||
- (void) log:(int) level tag:(NSString*) tag msg:(NSString*) msg detailLine:(NSString *)detailLine;
|
||||
- (void) log:(int) level tag:(NSString*) tag msg:(NSString*) msg error:(NSError *) error detailLine:(NSString *)detailLine;
|
||||
- (void) setLogLevel:(SudLogType) level;
|
||||
- (void) log:(SudLogType) level tag:(NSString*) tag msg:(NSString*) msg detailLine:(NSString *)detailLine;
|
||||
- (void) log:(SudLogType) level tag:(NSString*) tag msg:(NSString*) msg error:(nullable NSError *) error detailLine:(NSString *)detailLine;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
16
YuMi/Library/SudMGP.framework/Headers/ISudPrivateListener.h
Normal file
16
YuMi/Library/SudMGP.framework/Headers/ISudPrivateListener.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// ISudPrivateListener.h
|
||||
// SudMGP
|
||||
//
|
||||
// Created by kaniel on 2/14/25.
|
||||
//
|
||||
|
||||
#ifndef ISudPrivateListener_h
|
||||
#define ISudPrivateListener_h
|
||||
typedef NS_ENUM(NSInteger, SudReqStepType) {
|
||||
SudReqStepTypeFqs = 0,
|
||||
SudReqStepTypeGetSdkToken = 1
|
||||
};
|
||||
|
||||
typedef void (^ISudInitSdkListener)(int retCode, NSString*_Nullable retMsg, SudReqStepType stepType);
|
||||
#endif /* ISudPrivateListener_h */
|
48
YuMi/Library/SudMGP.framework/Headers/SudAiModel.h
Normal file
48
YuMi/Library/SudMGP.framework/Headers/SudAiModel.h
Normal file
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// SudAiModel.h
|
||||
// SudMGP
|
||||
//
|
||||
// Created by kaniel on 9/23/24.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
/// AI大模型模块
|
||||
@interface SudAiModel : NSObject
|
||||
|
||||
/// AI大模型常规接口
|
||||
/// - Parameters:
|
||||
/// - param: json string参数,详细参数参阅文档
|
||||
/// - completed: 完成时回调,返回json string结果
|
||||
+ (void)aiCommon:(NSString *_Nonnull)param
|
||||
completed:(void(^_Nullable)(NSString *_Nonnull result))completed;
|
||||
|
||||
/// AI大模型sse形式接口
|
||||
/// - Parameters:
|
||||
/// - param: json string参数,详细参数参阅文档
|
||||
/// - message: 事件回调数据
|
||||
/// - completed: 完成回调
|
||||
/// - fail: 失败回调
|
||||
+ (void)aiSse:(NSString *_Nonnull)param
|
||||
message:(void(^)(NSString *message))message
|
||||
completed:(void(^_Nullable)(void))completed
|
||||
fail:(void(^_Nullable)(NSInteger errCode, NSString *_Nonnull errMsg))fail;
|
||||
|
||||
/// 加载模型接口
|
||||
/// - Parameters:
|
||||
/// - param: json string参数,详细参数参阅文档
|
||||
/// - success: 成功时返回的模型二进制数据
|
||||
/// - fail: 失败回调
|
||||
+ (void)loadModel:(NSString *_Nonnull)param
|
||||
success:(void(^_Nullable)(NSData *_Nonnull data))success
|
||||
fail:(void(^_Nullable)(NSInteger errCode, NSString *_Nonnull errMsg))fail;
|
||||
|
||||
/// 清空所有缓存
|
||||
+ (void)clearAllCache;
|
||||
|
||||
/// 获取缓存路径
|
||||
+ (NSString *)getCachePath;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -15,7 +15,10 @@
|
||||
/// isTestEnv true:测试环境 false:生产环境
|
||||
@property (nonatomic, assign) BOOL isTestEnv;
|
||||
|
||||
/// 用户id
|
||||
@property (nonatomic, copy) NSString *userId;
|
||||
|
||||
- (instancetype)init;
|
||||
|
||||
- (BOOL)check;
|
||||
@end
|
||||
@end
|
||||
|
@@ -12,12 +12,15 @@
|
||||
|
||||
#import "ISudListenerGetFQSInfo.h"
|
||||
#import "ISudListenerGetMGInfo.h"
|
||||
#import "ISudPrivateListener.h"
|
||||
#import "SudNetworkCheckParamModel+Internal.h"
|
||||
#import "GameCheckoutStatus.h"
|
||||
#import "ISudAPPD.h"
|
||||
#import "ISudCfg.h"
|
||||
#import "ISudFSMMG.h"
|
||||
#import "ISudFSMStateHandle.h"
|
||||
#import "ISudFSTAPP.h"
|
||||
#import "ISudListener.h"
|
||||
#import "ISudListenerGetMGList.h"
|
||||
#import "ISudListenerInitSDK.h"
|
||||
#import "ISudListenerNotifyStateChange.h"
|
||||
@@ -25,10 +28,12 @@
|
||||
#import "ISudListenerReportStatsEvent.h"
|
||||
#import "ISudListenerUninitSDK.h"
|
||||
#import "ISudLogger.h"
|
||||
#import "SudAiModel.h"
|
||||
#import "SudInitSDKParamModel.h"
|
||||
#import "SudLoadMGMode.h"
|
||||
#import "SudLoadMGParamModel.h"
|
||||
#import "SudMGP.h"
|
||||
#import "SudNetworkCheckParamModel.h"
|
||||
|
||||
FOUNDATION_EXPORT double SudMGPVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char SudMGPVersionString[];
|
||||
|
@@ -4,15 +4,17 @@
|
||||
#import "ISudListenerGetMGList.h"
|
||||
#import "ISudListenerUninitSDK.h"
|
||||
#import "ISudListenerReportStatsEvent.h"
|
||||
|
||||
#import "ISudCfg.h"
|
||||
#import "ISudLogger.h"
|
||||
#import "SudInitSDKParamModel.h"
|
||||
#import "SudLoadMGParamModel.h"
|
||||
#import "SudNetworkCheckParamModel.h"
|
||||
#import "ISudListener.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol ISudFSTAPP;
|
||||
@protocol ISudFSMMG;
|
||||
@protocol ISudCfg;
|
||||
@protocol ISudListenerPrepareGame;
|
||||
@class SudInitSDKParamModel;
|
||||
@class SudLoadMGParamModel;
|
||||
|
||||
@interface SudMGP : NSObject
|
||||
|
||||
@@ -36,11 +38,12 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
* @param appKey 小游戏平台生成
|
||||
* @param isTestEnv true:测试环境 false:生产环境
|
||||
* @param listener ISudListenerInitSDK
|
||||
* @deprecated Use initSDK:listener: instead
|
||||
*/
|
||||
+ (void)initSDK:(NSString*_Nonnull)appId
|
||||
appKey:(NSString*_Nonnull)appKey
|
||||
isTestEnv:(BOOL)isTestEnv
|
||||
listener:(ISudListenerInitSDK _Nullable )listener;
|
||||
listener:(ISudListenerInitSDK _Nullable )listener __attribute__((deprecated("Use initSDK:listener: instead")));
|
||||
/**
|
||||
* 初始化SDK
|
||||
* @param model SudInitSDKParamModel
|
||||
@@ -72,6 +75,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
* @param fsmMG ISudFSMMG
|
||||
* @param rootView 用于显示游戏的根视图(gameViewContainer)
|
||||
* @return ISudFSTAPP
|
||||
* @deprecated Use loadMG:fsmMG: instead
|
||||
*/
|
||||
+ (id<ISudFSTAPP>_Nonnull)loadMG:(NSString*_Nonnull)userId
|
||||
roomId:(NSString*_Nonnull)roomId
|
||||
@@ -79,7 +83,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
mgId:(int64_t)mgId
|
||||
language:(NSString*_Nonnull)language
|
||||
fsmMG:(id<ISudFSMMG>_Nonnull)fsmMG
|
||||
rootView:(UIView*_Nonnull)rootView;
|
||||
rootView:(UIView*_Nonnull)rootView __attribute__((deprecated("Use loadMG:fsmMG instead")));
|
||||
|
||||
/**
|
||||
* 加载游戏
|
||||
@@ -99,22 +103,23 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
+ (bool)destroyMG:(id<ISudFSTAPP>_Nonnull) fstAPP;
|
||||
|
||||
/**
|
||||
* 预加载游戏包列表
|
||||
* @param mgIdList 游戏ID列表
|
||||
*/
|
||||
* 预加载游戏包列表
|
||||
* @param mgIdList 游戏ID列表
|
||||
*/
|
||||
+ (void) prepareGameList:(NSArray<NSNumber *> *) mgIdList listener:(id<ISudListenerPrepareGame>) listener;
|
||||
|
||||
/**
|
||||
* 取消预加载游戏包
|
||||
* @param mgIdList 游戏ID列表
|
||||
*/
|
||||
* 取消预加载游戏包
|
||||
* @param mgIdList 游戏ID列表
|
||||
*/
|
||||
+ (void) cancelPrepareGameList:(NSArray<NSNumber *> *) mgIdList;
|
||||
|
||||
/**
|
||||
* 设置统计上报userId
|
||||
* @param userId 用户ID
|
||||
* @deprecated deprecated since v1.3.5
|
||||
*/
|
||||
+ (void)setUserId:(NSString*)userId;
|
||||
+ (void)setUserId:(NSString*)userId __attribute__((deprecated("deprecated since v1.3.5")));
|
||||
|
||||
/**
|
||||
* 设置统计上报回调
|
||||
@@ -127,13 +132,15 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
* 设置日志等级
|
||||
* @param logLevel 输出log的等级,SudLogVERBOSE,SudLogDEBUG,SudLogINFO 见ISudLogger.h
|
||||
*/
|
||||
+ (void)setLogLevel:(int)logLevel;
|
||||
+ (void)setLogLevel:(SudLogType)logLevel;
|
||||
|
||||
/// 获取SDK本地日志存储路径
|
||||
+ (NSString *_Nonnull)getLogDirPath;
|
||||
|
||||
/// 设置是否由SDK设置AudioSession
|
||||
/// @param autoSet 是否由SDK自动设置
|
||||
+ (void)autoSetAudioSession:(BOOL)autoSet;
|
||||
|
||||
/// 开启网络检测,检测当前网络环境下,SDK连通性
|
||||
/// @param paramModel 检测参数
|
||||
/// @param listener 检测结果回调
|
||||
+ (void)startNetworkDetection:(SudNetworkDetectionParamModel *)paramModel listener:(INetworkDetectionListener)listener;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// SudNetworkCheckParamModel+SudNetworkCheckParamModel_Internal.h
|
||||
// SudMGP
|
||||
//
|
||||
// Created by kaniel on 2/18/25.
|
||||
//
|
||||
|
||||
#import "SudNetworkCheckParamModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface SudNetworkDetectionStep (Internal)
|
||||
@property (nonatomic, strong) NSString *name;
|
||||
@property (nonatomic, strong) NSString *url;
|
||||
- (void)addDetail:(NSString *)type timestamp:(long)timestamp;
|
||||
@end
|
||||
|
||||
@interface SudNetworkDetectionStepResult (Internal)
|
||||
+(instancetype)newWithCode:(NSInteger)code msg:(NSString *_Nullable)msg;
|
||||
@end
|
||||
|
||||
@interface SudNetworkDetectionResult (Internal)
|
||||
- (void)addStep:(SudNetworkDetectionStep *)step;
|
||||
- (id)reportInfo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,73 @@
|
||||
//
|
||||
// SudNetworkCheckParamModel.h
|
||||
// SudMGP
|
||||
//
|
||||
// Created by kaniel on 2/14/25.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// 检测状态
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionStatus_WAITING;// 等待
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionStatus_CHECKING;// 检测中
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionStatus_COMPLETED;// 检测完成
|
||||
|
||||
// 网络检测详情的具体类型
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_CALL_START; // 请求开始
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_DNS_START; // dns开始解析
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_DNS_END; // dns解析完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_CONNECT_START; // 连接开始
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_SECURE_CONNECT_START; // SSL/TLS连接开始
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_SECURE_CONNECT_END; // SSL/TLS连接完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_CONNECT_END; // 连接完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_REQUEST_HEADERS_START; // 发送headers开始
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_REQUEST_HEADERS_END; // 发送headers完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_REQUEST_BODY_START; // 发送body开始
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_REQUEST_BODY_END; // 发送body完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_RESPONSE_HEADERS_START; // 开始返回headers
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_RESPONSE_HEADERS_END; // 返回headers完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_RESPONSE_BODY_START; // 开始返回body
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_RESPONSE_BODY_END; // 返回body完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_CALL_END; // 请求完成
|
||||
FOUNDATION_EXPORT NSString *const SudNetworkDetectionDetailType_CALL_FAILED; // 请求错误
|
||||
|
||||
// 网络检测参数
|
||||
@interface SudNetworkDetectionParamModel : NSObject
|
||||
@property (nonatomic, assign) BOOL isTestEnv;
|
||||
@property (nonatomic, strong, nonnull) NSString *appId;
|
||||
@property (nonatomic, strong, nonnull) NSString *appKey;
|
||||
@property (nonatomic, strong, nonnull) NSString *userId;
|
||||
@end
|
||||
|
||||
// 小步骤里面的检测结果
|
||||
@interface SudNetworkDetectionStepResult : NSObject
|
||||
@property (nonatomic, assign) NSInteger code; // 错误码,0为成功,非0为失败
|
||||
@property (nonatomic, strong, nullable) NSString *msg; // 消息文本
|
||||
@end
|
||||
|
||||
// 网络检测详情
|
||||
@interface SudNetworkDetectionDetail : NSObject
|
||||
@property (nonatomic, assign) NSString *type; // 类型
|
||||
@property (nonatomic, assign) long timestamp; // 时间戳
|
||||
@end
|
||||
|
||||
// 网络检测步骤信息
|
||||
@interface SudNetworkDetectionStep : NSObject
|
||||
@property (nonatomic, assign) NSInteger identifier; // 唯一id
|
||||
@property (nonatomic, strong, nonnull) NSString *protocol; // 网络协议:https、wss
|
||||
@property (nonatomic, strong, nonnull) NSString *method; // 请求方法:GET、POST
|
||||
@property (nonatomic, strong) NSString * status; // 检测状态
|
||||
@property (nonatomic, strong, nullable) NSArray<SudNetworkDetectionDetail *> *detailList; // 检测详情
|
||||
@property (nonatomic, strong, nonnull) SudNetworkDetectionStepResult *result; // 当前步骤的检测结果
|
||||
@end
|
||||
|
||||
// 网络检测结果
|
||||
@interface SudNetworkDetectionResult : NSObject
|
||||
@property (nonatomic, assign) NSInteger code; // 错误码,0为成功,非0为失败
|
||||
@property (nonatomic, strong, nullable) NSString *msg; // 消息文本
|
||||
@property (nonatomic, strong, nonnull) NSArray<SudNetworkDetectionStep *> *stepList; // 步骤列表
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
Binary file not shown.
40
YuMi/Library/SudMGP.framework/PrivacyInfo.xcprivacy
Normal file
40
YuMi/Library/SudMGP.framework/PrivacyInfo.xcprivacy
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyCollectedDataType</key>
|
||||
<string>NSPrivacyCollectedDataTypeDeviceID</string>
|
||||
<key>NSPrivacyCollectedDataTypeLinked</key>
|
||||
<false/>
|
||||
<key>NSPrivacyCollectedDataTypeTracking</key>
|
||||
<true/>
|
||||
<key>NSPrivacyCollectedDataTypePurposes</key>
|
||||
<array>
|
||||
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>NSPrivacyAccessedAPITypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>CA92.1</string>
|
||||
</array>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>NSPrivacyAccessedAPIType</key>
|
||||
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
|
||||
<key>NSPrivacyAccessedAPITypeReasons</key>
|
||||
<array>
|
||||
<string>C617.1</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
Binary file not shown.
@@ -53,6 +53,9 @@ NSString * const kNewFacePath = @"MoliFaceCache";
|
||||
NSString*faceDirectory = [documentsDirectory stringByAppendingPathComponent:@"Face"];
|
||||
///首先判断 本地的数据是否 需要更新了
|
||||
NSString *version = [[NSUserDefaults standardUserDefaults]objectForKey: kRoomFaceVersion];
|
||||
//#if DEBUG
|
||||
// version = @"1";
|
||||
//#endif
|
||||
if (version == nil || version.integerValue < self.version.integerValue) {///本地没有保存的话 就走下载
|
||||
if (self.zipUrl.length > 0 && [self.zipUrl hasPrefix:@"http"]) {
|
||||
NSURL *URL = [NSURL URLWithString:self.zipUrl];
|
||||
|
@@ -141,6 +141,7 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
for (XPMessageInfoModel *model in datas) {
|
||||
switch (model.first) {
|
||||
case NIMMessageTypeText:
|
||||
case CustomMessageType_Face:
|
||||
[self.datasource_chat addObject:model];
|
||||
break;
|
||||
case CustomMessageType_Gift:
|
||||
@@ -525,6 +526,11 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
||||
if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) {
|
||||
AttachmentModel *attachment = (AttachmentModel *)obj.attachment;
|
||||
|
||||
if (attachment.first == CustomMessageType_Face && attachment.second == Custom_Message_Sub_Face_Send) {
|
||||
return NO;
|
||||
}
|
||||
|
||||
if (attachment.first == CustomMessageType_User_Enter_Room && attachment.second == Custom_Message_Sub_User_Enter_Room) {
|
||||
return NO;
|
||||
}
|
||||
@@ -816,6 +822,7 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
self.isMiniEnter = NO;
|
||||
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
||||
|
||||
// 这里其实是特殊处理
|
||||
if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) {
|
||||
AttachmentModel *attachment = (AttachmentModel *)obj.attachment;
|
||||
switch (attachment.first) {
|
||||
@@ -897,8 +904,7 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
if (model.screenType == 1 || model.enterHide == 1) {
|
||||
return;
|
||||
}
|
||||
NSInteger index = 0;
|
||||
for (RoomEnterCPListModel *cp in model.cpList) {
|
||||
for (int index = 0; index<model.cpList.count; index++) {
|
||||
attachment.seq = index;
|
||||
index += 1;
|
||||
[(NIMCustomObject *)message.messageObject setAttachment:attachment];
|
||||
@@ -907,13 +913,38 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case CustomMessageType_Face: {
|
||||
NSInteger delay = 0;
|
||||
if ([message.messageObject isKindOfClass:[NIMCustomObject class]]) {
|
||||
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
|
||||
AttachmentModel *attachment =(AttachmentModel *)obj.attachment;
|
||||
if (attachment.first == 9 && attachment.second == 91) {
|
||||
NSArray *datas = [attachment.data objectForKey:@"data"];
|
||||
NSDictionary *obj = [datas xpSafeObjectAtIndex:0];
|
||||
if (obj) {
|
||||
NSArray *results = [obj objectForKey:@"resultIndexes"];
|
||||
if (results.count > 0) {
|
||||
delay = 2.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self addRoomMessage:message];
|
||||
});
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (self.hostDelegate.getRoomInfo.isCloseScreen) {
|
||||
return;
|
||||
}
|
||||
|
||||
// isCanDisplayMessage 是通用的过滤
|
||||
if ([self isCanDisplayMessage:message]) {
|
||||
[self addRoomMessage:message];
|
||||
}
|
||||
|
@@ -242,11 +242,7 @@
|
||||
|
||||
// 根据显示类型处理不同布局
|
||||
RoomFaceInfoModel *faceModel = [[XPRoomFaceTool shareFaceTool] findFaceInfoById:faceInfo.faceId];
|
||||
|
||||
#if DEBUG
|
||||
// faceModel.displayType = FaceDisplayType_OverLay;
|
||||
#endif
|
||||
|
||||
|
||||
if (faceModel.displayType == FaceDisplayType_OnlyOne && faceCount > 0) {
|
||||
UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
|
||||
// 只处理第一个元素并居中填满
|
||||
@@ -320,6 +316,34 @@
|
||||
currentIndex++;
|
||||
}
|
||||
}];
|
||||
} else if (faceModel.displayType == FaceDisplayType_OnlyOneLine) {
|
||||
// 实现单行最多三张图片的布局
|
||||
size = CGSizeMake(size.width * 3, size.height);
|
||||
UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
|
||||
|
||||
// 最多取三张图片
|
||||
NSInteger maxImages = MIN(faceCount, 3);
|
||||
// 固定图片间隔为4px
|
||||
CGFloat imageSpacing = -4.0;
|
||||
CGFloat itemWidth = width;
|
||||
// 计算整组图片总宽度(所有图片宽度 + 间隔)
|
||||
CGFloat totalWidth = itemWidth * maxImages + imageSpacing * (maxImages - 1);
|
||||
// 计算起始X坐标使整组图片居中
|
||||
CGFloat startX = (size.width - totalWidth) / 2;
|
||||
|
||||
for (NSInteger i = 0; i < maxImages; i++) {
|
||||
NSInteger index = [faceInfo.resultIndexes[i] integerValue];
|
||||
UIImage *image = [[XPRoomFaceTool shareFaceTool] findFaceImageById:faceInfo.faceId index:index];
|
||||
if (!image) continue;
|
||||
|
||||
// 计算每个图片位置,使用固定间隔
|
||||
CGFloat xPosition = startX + i * (itemWidth + imageSpacing);
|
||||
CGRect rect = CGRectMake(xPosition,
|
||||
(size.height - height) / 2,
|
||||
itemWidth,
|
||||
height);
|
||||
[image drawInRect:[self aspectFitRectForImage:image.size inRect:rect]];
|
||||
}
|
||||
}
|
||||
result = UIGraphicsGetImageFromCurrentImageContext();
|
||||
UIGraphicsEndImageContext();
|
||||
|
Reference in New Issue
Block a user