diff --git a/plug-ins/Apple.Accessibility/Apple.Accessibility_Unity/Assets/Apple.Accessibility/Editor/AppleAccessibilityBuildStep.cs b/plug-ins/Apple.Accessibility/Apple.Accessibility_Unity/Assets/Apple.Accessibility/Editor/AppleAccessibilityBuildStep.cs
index 18dedc01..31a6580e 100644
--- a/plug-ins/Apple.Accessibility/Apple.Accessibility_Unity/Assets/Apple.Accessibility/Editor/AppleAccessibilityBuildStep.cs
+++ b/plug-ins/Apple.Accessibility/Apple.Accessibility_Unity/Assets/Apple.Accessibility/Editor/AppleAccessibilityBuildStep.cs
@@ -4,7 +4,7 @@
using UnityEditor;
using UnityEngine;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -20,7 +20,7 @@ public class AppleAccessibilityBuildStep : AppleBuildStep
{BuildTarget.tvOS, "AppleAccessibility.framework"},
};
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnProcessFrameworks(AppleBuildProfile _, BuildTarget buildTarget, string pathToBuiltTarget, PBXProject pbxProject)
{
if (_libraryTable.ContainsKey(buildTarget))
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuild.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuild.cs
index 25c18f0e..e649a678 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuild.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuild.cs
@@ -1,3 +1,4 @@
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System.IO;
using System.Text.RegularExpressions;
using UnityEditor;
@@ -422,3 +423,4 @@ public static void ProcessExportPlistOptions(AppleBuildProfile appleBuildProfile
}
}
+#endif
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuildStep.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuildStep.cs
index d8ec8d1e..63fac631 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuildStep.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleBuildStep.cs
@@ -5,7 +5,7 @@
using UnityEditor;
using UnityEngine;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -20,6 +20,7 @@ public class AppleBuildStep : ScriptableObject
///
/// Returns an enumerable collection of all objects in the project which derive from AppleBuildStep
///
+
public static IEnumerable ProjectAppleBuildStepTypes()
{
var appleBuildStepTypes = from assembly in AppDomain.CurrentDomain.GetAssemblies()
@@ -38,6 +39,8 @@ where typeof(AppleBuildStep).IsAssignableFrom(type) && type != typeof(AppleBuild
///
public virtual void OnBeginPostProcess(AppleBuildProfile appleBuildProfile, BuildTarget buildTarget, string pathToBuiltProject) { }
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
+
///
/// Called when steps should modify the info plist.
///
@@ -72,7 +75,7 @@ public virtual void OnProcessFrameworks(AppleBuildProfile appleBuildProfile, Bui
///
///
public virtual void OnProcessExportPlistOptions(AppleBuildProfile appleBuildProfile, BuildTarget buildTarget, string pathToBuiltProject, PlistDocument exportPlistOptions) { }
-
+#endif
///
/// Called on all steps, in-order, as a final post process command. Any final signatures can be done here (if last step).
///
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleCoreBuildStep.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleCoreBuildStep.cs
index 45d488a9..82822a46 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleCoreBuildStep.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleCoreBuildStep.cs
@@ -3,7 +3,7 @@
using UnityEngine;
using UnityEditor;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -20,7 +20,7 @@ public class AppleCoreBuildStep : AppleBuildStep
{BuildTarget.StandaloneOSX, "AppleCoreNativeMac.bundle"}
};
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnFinalizePostProcess(AppleBuildProfile appleBuildProfile, BuildTarget buildTarget, string pathToBuiltProject)
{
Debug.Log($"AppleBuild: disabling Bitcode for framework and app targets.");
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleFrameworkUtility.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleFrameworkUtility.cs
index a4020cda..aa044fed 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleFrameworkUtility.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleFrameworkUtility.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System;
using System.IO;
using UnityEditor;
@@ -43,6 +43,21 @@ public static string GetPluginLibraryPathForBuildTarget(string libraryName, Buil
}
}
+ if( libraryName.EndsWith(".framework") )
+ {
+ string libraryNameWithoutFramework = libraryName.Substring( 0, libraryName.LastIndexOf(".framework") );
+ results = AssetDatabase.FindAssets(libraryNameWithoutFramework);
+ foreach (string currGUID in results)
+ {
+ string libraryPath = AssetDatabase.GUIDToAssetPath(currGUID);
+ string[] folders = libraryPath.Split('/');
+ if (Array.IndexOf(folders, platformString) > -1)
+ {
+ return libraryPath;
+ }
+ }
+
+ }
return string.Empty;
}
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleNativePluginProcessor.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleNativePluginProcessor.cs
index 2094f91b..cc55399f 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleNativePluginProcessor.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleNativePluginProcessor.cs
@@ -1,3 +1,4 @@
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System;
using System.IO;
using System.Collections;
@@ -174,3 +175,4 @@ static void OnPostprocessAllAssets(string[] assetPaths, string[] _, string[] _1,
}
}
}
+#endif
\ No newline at end of file
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleSecurityBuildStep.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleSecurityBuildStep.cs
index 449bce74..cc84acff 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleSecurityBuildStep.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleSecurityBuildStep.cs
@@ -1,3 +1,4 @@
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor;
using UnityEditor.iOS.Xcode;
using UnityEngine;
@@ -129,4 +130,5 @@ public override void OnProcessEntitlements(AppleBuildProfile appleBuildProfile,
entitlements.root.SetBoolean("com.apple.security.assets.movies.read-write", true);
}
}
-}
\ No newline at end of file
+}
+#endif
\ No newline at end of file
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleUserManagementBuildStep.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleUserManagementBuildStep.cs
index 984290ce..ba013a79 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleUserManagementBuildStep.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/AppleUserManagementBuildStep.cs
@@ -18,7 +18,7 @@ public void Reset()
IsEnabled = false;
}
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnProcessEntitlements(AppleBuildProfile appleBuildProfile, BuildTarget buildTarget, string pathToBuiltTarget, PlistDocument entitlements)
{
if (buildTarget == BuildTarget.tvOS)
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/CodsignCommand.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/CodsignCommand.cs
index b68c2530..7f14a4f4 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/CodsignCommand.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/CodsignCommand.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System.Collections.Generic;
using System.IO;
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/KeychainCommand.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/KeychainCommand.cs
index 89a781d8..c1c71742 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/KeychainCommand.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/KeychainCommand.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System.IO;
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductBuildCommand.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductBuildCommand.cs
index 609fda84..097d6666 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductBuildCommand.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductBuildCommand.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System.Collections.Generic;
using System.IO;
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductSignCommand.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductSignCommand.cs
index 7be5d294..f0a62116 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductSignCommand.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ProductSignCommand.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
namespace Apple.Core
{
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ShellCommandRunner.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ShellCommandRunner.cs
index f47712a7..80a07b1e 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ShellCommandRunner.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/ShellCommandRunner.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System;
using UnityEngine;
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcodeBuildCommand.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcodeBuildCommand.cs
index bf4f8880..160bd9cb 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcodeBuildCommand.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcodeBuildCommand.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System.Collections.Generic;
using System.IO;
diff --git a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcrunCommand.cs b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcrunCommand.cs
index f749f5b9..2916ec11 100644
--- a/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcrunCommand.cs
+++ b/plug-ins/Apple.Core/Apple.Core_Unity/Assets/Apple.Core/Editor/XcrunCommand.cs
@@ -1,4 +1,4 @@
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using System.Collections.Generic;
using System.IO;
diff --git a/plug-ins/Apple.CoreHaptics/Apple.CoreHaptics_Unity/Assets/Apple.CoreHaptics/Editor/CHBuildStep.cs b/plug-ins/Apple.CoreHaptics/Apple.CoreHaptics_Unity/Assets/Apple.CoreHaptics/Editor/CHBuildStep.cs
index 4e1d89c1..1bd1ecb2 100644
--- a/plug-ins/Apple.CoreHaptics/Apple.CoreHaptics_Unity/Assets/Apple.CoreHaptics/Editor/CHBuildStep.cs
+++ b/plug-ins/Apple.CoreHaptics/Apple.CoreHaptics_Unity/Assets/Apple.CoreHaptics/Editor/CHBuildStep.cs
@@ -4,7 +4,7 @@
using UnityEditor;
using UnityEngine;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -21,7 +21,7 @@ public class CHBuildStep : AppleBuildStep
{BuildTarget.StandaloneOSX, "CoreHapticsWrapper.bundle"}
};
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnProcessFrameworks(AppleBuildProfile _, BuildTarget buildTarget, string pathToBuiltTarget, PBXProject pbxProject)
{
if (_libraryTable.ContainsKey(buildTarget))
diff --git a/plug-ins/Apple.GameController/Apple.GameController_Unity/Assets/Apple.GameController/Editor/AppleGameControllerBuildStep.cs b/plug-ins/Apple.GameController/Apple.GameController_Unity/Assets/Apple.GameController/Editor/AppleGameControllerBuildStep.cs
index 6fb77d12..00c32816 100644
--- a/plug-ins/Apple.GameController/Apple.GameController_Unity/Assets/Apple.GameController/Editor/AppleGameControllerBuildStep.cs
+++ b/plug-ins/Apple.GameController/Apple.GameController_Unity/Assets/Apple.GameController/Editor/AppleGameControllerBuildStep.cs
@@ -4,7 +4,7 @@
using UnityEditor;
using UnityEngine;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -25,7 +25,7 @@ public class AppleGameControllerBuildStep : AppleBuildStep
public bool SupportsMicroGamePad = true;
public bool SupportsExtendedGamePad = true;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnProcessInfoPlist(AppleBuildProfile _, BuildTarget buildTarget, string pathToBuiltTarget, PlistDocument infoPlist)
{
// Notify that we support controllers...
diff --git a/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Editor/AppleGameKitBuildStep.cs b/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Editor/AppleGameKitBuildStep.cs
index a10677cd..cb44e557 100644
--- a/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Editor/AppleGameKitBuildStep.cs
+++ b/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Editor/AppleGameKitBuildStep.cs
@@ -4,7 +4,7 @@
using UnityEditor;
using UnityEngine;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -21,7 +21,7 @@ public class AppleGameKitBuildStep : AppleBuildStep
{BuildTarget.StandaloneOSX, "GameKitWrapper.bundle"}
};
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnProcessEntitlements(AppleBuildProfile _, BuildTarget buildTarget, string _1, PlistDocument entitlements)
{
if(buildTarget == BuildTarget.StandaloneOSX)
diff --git a/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKIdentityVerificationResponse.cs b/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKIdentityVerificationResponse.cs
index bd11d9bc..5cc985b6 100644
--- a/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKIdentityVerificationResponse.cs
+++ b/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKIdentityVerificationResponse.cs
@@ -9,38 +9,42 @@ public struct GKIdentityVerificationResponse
///
/// The URL for the public encryption key.
///
+ //public string PublicKeyUrl;
public string PublicKeyUrl;
- internal IntPtr Signature;
- internal int SignatureLength;
- internal IntPtr Salt;
- internal int SaltLength;
- ///
- /// The signature’s creation date and time.
- ///
- public ulong Timestamp;
///
/// The verification signature data that GameKit generates.
///
- ///
- public byte[] GetSignature()
- {
- var signature = new byte[SignatureLength];
- Marshal.Copy(Signature, signature, 0, SignatureLength);
-
- return signature;
- }
-
+ public byte[] Signature;
+
///
/// A random NSString that GameKit uses to compute the hash and randomize it.
///
- ///
- public byte[] GetSalt()
+ public byte[] Salt;
+
+ ///
+ /// The signature’s creation date and time.
+ ///
+ public ulong Timestamp;
+
+ internal GKIdentityVerificationResponse(ulong timestamp,
+ IntPtr publicKeyUrl, int publicKeyUrlLength,
+ IntPtr signature, int signatureLength,
+ IntPtr salt, int saltLength)
{
- var salt = new byte[SaltLength];
- Marshal.Copy(Salt, salt, 0, SaltLength);
+ Timestamp = timestamp;
+
+ var publicKeyUrlBytes = new byte[publicKeyUrlLength];
+ Marshal.Copy(publicKeyUrl, publicKeyUrlBytes, 0, publicKeyUrlLength);
+ PublicKeyUrl = System.Text.Encoding.UTF8.GetString(publicKeyUrlBytes);
+
+ Signature = new byte[signatureLength];
+ Marshal.Copy(signature, Signature, 0, signatureLength);
+
+ Salt = new byte[saltLength];
+ Marshal.Copy(salt, Salt, 0, saltLength);
- return salt;
}
+
}
}
\ No newline at end of file
diff --git a/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKLocalPlayer.cs b/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKLocalPlayer.cs
index 8da0f3e0..0dab10d6 100644
--- a/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKLocalPlayer.cs
+++ b/plug-ins/Apple.GameKit/Apple.GameKit_Unity/Assets/Apple.GameKit/Source/GKLocalPlayer.cs
@@ -90,8 +90,13 @@ public static GKLocalPlayer Local
#endregion
#region FetchItems
+ private delegate void SuccessTaskFetchItemsCallback(long taskId, ulong timestamp,
+ IntPtr publicKeyUrl, int publicKeyUrlLength,
+ IntPtr signature, int signatureLength,
+ IntPtr salt, int saltLength);
+
[DllImport(InteropUtility.DLLName)]
- private static extern void GKLocalPlayer_FetchItems(IntPtr pointer, long taskId, SuccessTaskCallback onSuccess, NSErrorTaskCallback onError);
+ private static extern void GKLocalPlayer_FetchItems(IntPtr pointer, long taskId, SuccessTaskFetchItemsCallback onSuccess, NSErrorTaskCallback onError);
///
/// Generates a signature so that a third-party server can authenticate the local player.
@@ -104,9 +109,17 @@ public Task FetchItems()
return tcs.Task;
}
- [MonoPInvokeCallback(typeof(SuccessTaskCallback))]
- private static void OnFetchItems(long taskId, GKIdentityVerificationResponse response)
+ [MonoPInvokeCallback(typeof(SuccessTaskFetchItemsCallback))]
+ private static void OnFetchItems(long taskId, ulong timestamp,
+ IntPtr publicKeyUrl, int publicKeyUrlLength,
+ IntPtr signature, int signatureLength,
+ IntPtr salt, int saltLength)
{
+ var response = new GKIdentityVerificationResponse(timestamp,
+ publicKeyUrl, publicKeyUrlLength,
+ signature, signatureLength,
+ salt, saltLength);
+
InteropTasks.TrySetResultAndRemove(taskId, response);
}
@@ -116,7 +129,7 @@ private static void OnFetchItemsError(long taskId, IntPtr errorPointer)
InteropTasks.TrySetExceptionAndRemove(taskId, new GameKitException(errorPointer));
}
#endregion
-
+
#region Authenticate
[DllImport(InteropUtility.DLLName)]
private static extern void GKLocalPlayer_Authenticate(long taskId, SuccessTaskCallback onSuccess, NSErrorTaskCallback onError);
@@ -240,4 +253,4 @@ private static void OnLoadRecentPlayersError(long taskId, IntPtr errorPointer)
}
#endregion
}
-}
\ No newline at end of file
+}
diff --git a/plug-ins/Apple.GameKit/Native/GameKitWrapper/GKLocalPlayer.swift b/plug-ins/Apple.GameKit/Native/GameKitWrapper/GKLocalPlayer.swift
index c0d99371..74703012 100644
--- a/plug-ins/Apple.GameKit/Native/GameKitWrapper/GKLocalPlayer.swift
+++ b/plug-ins/Apple.GameKit/Native/GameKitWrapper/GKLocalPlayer.swift
@@ -198,30 +198,38 @@ public func GKLocalPlayer_LoadFriendsAuthorizationStatus
};
}
-public typealias SuccessTaskFetchItemsCallback = @convention(c) (Int64, char_p, uchar_p, Int32, uchar_p, Int32, UInt) -> Void;
+public typealias SuccessTaskFetchItemsCallback = @convention(c) (Int64, UInt, uchar_p, Int32, uchar_p, Int32, uchar_p, Int32) -> Void;
@_cdecl("GKLocalPlayer_FetchItems")
public func GKLocalPlayer_FetchItems
(
+ pointer: UnsafeMutableRawPointer,
taskId: Int64,
onSuccess: @escaping SuccessTaskFetchItemsCallback,
onError: @escaping NSErrorCallback
)
{
if #available(macOS 10.15.5, iOS 13.5, tvOS 13.5, *) {
- GKLocalPlayer.local.fetchItems(forIdentityVerificationSignature: { publicKeyUrl, signature, salt, timestamp, error in
+ let player = Unmanaged.fromOpaque(pointer).takeUnretainedValue();
+ player.fetchItems(forIdentityVerificationSignature: { publicKeyUrl, signature, salt, timestamp, error in
if(error != nil) {
onError(taskId, Unmanaged.passRetained(error! as NSError).toOpaque());
return;
}
- onSuccess(taskId,
- publicKeyUrl!.absoluteString.toCharPCopy(),
- signature!.toUCharP(),
- Int32(signature!.count),
- salt!.toUCharP(),
- Int32(salt!.count),
- UInt(timestamp));
+ let publicKeyUrlData = publicKeyUrl!.absoluteString.data(using: .utf8)
+
+ onSuccess(
+ taskId,
+ UInt(timestamp),
+ publicKeyUrlData!.toUCharP(),
+ Int32(publicKeyUrlData!.count),
+ signature!.toUCharP(),
+ Int32(signature!.count),
+ salt!.toUCharP(),
+ Int32(salt!.count)
+ )
+
})
} else {
let error = NSError.init(domain: "GKLocalPlayer", code: -7, userInfo: nil);
diff --git a/plug-ins/Apple.PHASE/Apple.PHASE_Unity/Assets/Editor/PHASEBuildStep.cs b/plug-ins/Apple.PHASE/Apple.PHASE_Unity/Assets/Editor/PHASEBuildStep.cs
index 5b7ca61b..a582338d 100644
--- a/plug-ins/Apple.PHASE/Apple.PHASE_Unity/Assets/Editor/PHASEBuildStep.cs
+++ b/plug-ins/Apple.PHASE/Apple.PHASE_Unity/Assets/Editor/PHASEBuildStep.cs
@@ -5,7 +5,7 @@
using UnityEditor;
using UnityEngine;
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
using UnityEditor.iOS.Xcode;
#endif
@@ -21,7 +21,7 @@ public class PHASEBuildStep : AppleBuildStep
{BuildTarget.StandaloneOSX, "AudioPluginPHASE.bundle"}
};
-#if UNITY_EDITOR_OSX
+#if UNITY_EDITOR_OSX && (UNITY_IOS || UNITY_TVOS || UNITY_STANDALONE_OSX)
public override void OnProcessFrameworks(AppleBuildProfile _, BuildTarget buildTarget, string pathToBuiltTarget, PBXProject pbxProject)
{
if (_libraryTable.ContainsKey(buildTarget))