diff --git a/Example/.vscode/settings.json b/Example/.vscode/settings.json new file mode 100644 index 0000000..4edd970 --- /dev/null +++ b/Example/.vscode/settings.json @@ -0,0 +1,56 @@ +{ + "files.exclude": + { + "**/.DS_Store":true, + "**/.git":true, + "**/.gitignore":true, + "**/.gitmodules":true, + "**/*.booproj":true, + "**/*.pidb":true, + "**/*.suo":true, + "**/*.user":true, + "**/*.userprefs":true, + "**/*.unityproj":true, + "**/*.dll":true, + "**/*.exe":true, + "**/*.pdf":true, + "**/*.mid":true, + "**/*.midi":true, + "**/*.wav":true, + "**/*.gif":true, + "**/*.ico":true, + "**/*.jpg":true, + "**/*.jpeg":true, + "**/*.png":true, + "**/*.psd":true, + "**/*.tga":true, + "**/*.tif":true, + "**/*.tiff":true, + "**/*.3ds":true, + "**/*.3DS":true, + "**/*.fbx":true, + "**/*.FBX":true, + "**/*.lxo":true, + "**/*.LXO":true, + "**/*.ma":true, + "**/*.MA":true, + "**/*.obj":true, + "**/*.OBJ":true, + "**/*.asset":true, + "**/*.cubemap":true, + "**/*.flare":true, + "**/*.mat":true, + "**/*.meta":true, + "**/*.prefab":true, + "**/*.unity":true, + "build/":true, + "Build/":true, + "Library/":true, + "library/":true, + "obj/":true, + "Obj/":true, + "ProjectSettings/":true, + "temp/":true, + "Temp/":true + } +} \ No newline at end of file diff --git a/Example/Assets/Example.mm.meta b/Example/Assets/Example.mm.meta index 3fb094f..4707fb2 100644 --- a/Example/Assets/Example.mm.meta +++ b/Example/Assets/Example.mm.meta @@ -1,14 +1,35 @@ fileFormatVersion: 2 guid: 05e7b13a132bc4a26af25fbbe4a76a2f -timeCreated: 1468131882 -licenseType: Pro PluginImporter: - serializedVersion: 1 + externalObjects: {} + serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - Any: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + iPhone: iOS + second: + enabled: 1 + settings: {} + - first: + tvOS: tvOS + second: enabled: 1 settings: {} userData: diff --git a/Example/Assets/Example.swift b/Example/Assets/Example.swift index fe3aae6..b7a7780 100644 --- a/Example/Assets/Example.swift +++ b/Example/Assets/Example.swift @@ -14,7 +14,7 @@ class Example : NSObject { UnitySendMessage("CallbackTarget", "OnCallFromSwift", message) } - static func swiftMethod(_ message: String) { + @objc static func swiftMethod(_ message: String) { print("\(#function) is called with message: \(message)") self.callUnityMethod("Hello, Unity!") diff --git a/Example/Assets/Example.swift.meta b/Example/Assets/Example.swift.meta index dce1c53..0917419 100644 --- a/Example/Assets/Example.swift.meta +++ b/Example/Assets/Example.swift.meta @@ -1,14 +1,35 @@ fileFormatVersion: 2 guid: 568f6ccd5f74747bc9d7073009664612 -timeCreated: 1468131882 -licenseType: Pro PluginImporter: - serializedVersion: 1 + externalObjects: {} + serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - Any: + - first: + Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + iPhone: iOS + second: + enabled: 1 + settings: {} + - first: + tvOS: tvOS + second: enabled: 1 settings: {} userData: diff --git a/Example/Assets/UnitySwift/Editor/PostProcessor.cs b/Example/Assets/UnitySwift/Editor/PostProcessor.cs index 03dd80b..801dab2 100644 --- a/Example/Assets/UnitySwift/Editor/PostProcessor.cs +++ b/Example/Assets/UnitySwift/Editor/PostProcessor.cs @@ -1,4 +1,5 @@ -using UnityEngine; +#if UNITY_IOS +using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; @@ -26,9 +27,11 @@ public static void OnPostProcessBuild(BuildTarget buildTarget, string buildPath) proj.SetBuildProperty(targetGuid, "SWIFT_OBJC_BRIDGING_HEADER", "Libraries/UnitySwift/UnitySwift-Bridging-Header.h"); proj.SetBuildProperty(targetGuid, "SWIFT_OBJC_INTERFACE_HEADER_NAME", "unityswift-Swift.h"); proj.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "@executable_path/Frameworks"); + proj.SetBuildProperty(targetGuid, "SWIFT_VERSION", "5.0"); proj.WriteToFile(projPath); } } } } +#endif \ No newline at end of file diff --git a/Example/Assets/UnitySwift/UnitySwift-Bridging-Header.h.meta b/Example/Assets/UnitySwift/UnitySwift-Bridging-Header.h.meta index 735b89f..1622bd4 100644 --- a/Example/Assets/UnitySwift/UnitySwift-Bridging-Header.h.meta +++ b/Example/Assets/UnitySwift/UnitySwift-Bridging-Header.h.meta @@ -1,51 +1,86 @@ fileFormatVersion: 2 guid: d88763964993f492aaed83a9d99f81fb -timeCreated: 1467687641 -licenseType: Pro PluginImporter: - serializedVersion: 1 + externalObjects: {} + serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - Android: + - first: + '': Linux + second: + enabled: 0 + settings: + CPU: x86 + - first: + '': OSXIntel + second: enabled: 0 settings: CPU: AnyCPU - Any: + - first: + '': OSXIntel64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Android: Android + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Any: + second: enabled: 0 settings: {} - Editor: + - first: + Editor: Editor + second: enabled: 0 settings: CPU: AnyCPU DefaultValueInitialized: true OS: AnyOS - Linux: - enabled: 0 - settings: - CPU: x86 - Linux64: + - first: + Facebook: Win + second: enabled: 0 settings: - CPU: x86_64 - OSXIntel: + CPU: AnyCPU + - first: + Facebook: Win64 + second: enabled: 0 settings: CPU: AnyCPU - OSXIntel64: + - first: + Standalone: Linux64 + second: enabled: 0 settings: CPU: AnyCPU - Win: + - first: + Standalone: Win + second: enabled: 0 settings: CPU: AnyCPU - Win64: + - first: + Standalone: Win64 + second: enabled: 0 settings: CPU: AnyCPU - iOS: + - first: + iPhone: iOS + second: enabled: 1 settings: CompileFlags: diff --git a/Example/Logs/Packages-Update.log b/Example/Logs/Packages-Update.log new file mode 100644 index 0000000..ff9f953 --- /dev/null +++ b/Example/Logs/Packages-Update.log @@ -0,0 +1,47 @@ + +=== Sat Sep 7 16:56:42 2019 + +Packages were changed. +Update Mode: resetToDefaultDependencies + +The following packages were added: + com.unity.textmeshpro@2.0.1 + com.unity.package-manager-ui@2.2.0 + com.unity.collab-proxy@1.2.16 + com.unity.ext.nunit@1.0.0 + com.unity.test-framework@1.0.13 + com.unity.timeline@1.1.0 + com.unity.ide.vscode@1.0.7 + com.unity.ide.rider@1.0.8 + com.unity.ugui@1.0.0 + com.unity.modules.ai@1.0.0 + com.unity.modules.animation@1.0.0 + com.unity.modules.androidjni@1.0.0 + com.unity.modules.assetbundle@1.0.0 + com.unity.modules.audio@1.0.0 + com.unity.modules.cloth@1.0.0 + com.unity.modules.director@1.0.0 + com.unity.modules.imageconversion@1.0.0 + com.unity.modules.imgui@1.0.0 + com.unity.modules.jsonserialize@1.0.0 + com.unity.modules.particlesystem@1.0.0 + com.unity.modules.physics@1.0.0 + com.unity.modules.physics2d@1.0.0 + com.unity.modules.screencapture@1.0.0 + com.unity.modules.terrain@1.0.0 + com.unity.modules.terrainphysics@1.0.0 + com.unity.modules.tilemap@1.0.0 + com.unity.modules.ui@1.0.0 + com.unity.modules.uielements@1.0.0 + com.unity.modules.umbra@1.0.0 + com.unity.modules.unityanalytics@1.0.0 + com.unity.modules.unitywebrequest@1.0.0 + com.unity.modules.unitywebrequestassetbundle@1.0.0 + com.unity.modules.unitywebrequestaudio@1.0.0 + com.unity.modules.unitywebrequesttexture@1.0.0 + com.unity.modules.unitywebrequestwww@1.0.0 + com.unity.modules.vehicles@1.0.0 + com.unity.modules.video@1.0.0 + com.unity.modules.vr@1.0.0 + com.unity.modules.wind@1.0.0 + com.unity.modules.xr@1.0.0 diff --git a/Example/Packages/manifest.json b/Example/Packages/manifest.json new file mode 100644 index 0000000..328d2ab --- /dev/null +++ b/Example/Packages/manifest.json @@ -0,0 +1,44 @@ +{ + "dependencies": { + "com.unity.collab-proxy": "1.2.16", + "com.unity.ext.nunit": "1.0.0", + "com.unity.ide.rider": "1.0.8", + "com.unity.ide.vscode": "1.0.7", + "com.unity.package-manager-ui": "2.2.0", + "com.unity.test-framework": "1.0.13", + "com.unity.textmeshpro": "2.0.1", + "com.unity.timeline": "1.1.0", + "com.unity.ugui": "1.0.0", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Example/ProjectSettings/PresetManager.asset b/Example/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000..2cbec8a Binary files /dev/null and b/Example/ProjectSettings/PresetManager.asset differ diff --git a/Example/ProjectSettings/ProjectVersion.txt b/Example/ProjectSettings/ProjectVersion.txt index 558807b..7e64146 100644 --- a/Example/ProjectSettings/ProjectVersion.txt +++ b/Example/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 5.3.5f1 -m_StandardAssetsVersion: 0 +m_EditorVersion: 2019.2.0f1 +m_EditorVersionWithRevision: 2019.2.0f1 (20c1667945cf) diff --git a/Example/ProjectSettings/UnityAdsSettings.asset b/Example/ProjectSettings/UnityAdsSettings.asset deleted file mode 100644 index 224050c..0000000 --- a/Example/ProjectSettings/UnityAdsSettings.asset +++ /dev/null @@ -1,11 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!292 &1 -UnityAdsSettings: - m_ObjectHideFlags: 0 - m_Enabled: 0 - m_InitializeOnStartup: 1 - m_TestMode: 0 - m_EnabledPlatforms: 4294967295 - m_IosGameId: - m_AndroidGameId: diff --git a/Example/ProjectSettings/UnityConnectSettings.asset b/Example/ProjectSettings/UnityConnectSettings.asset index 9b7a578..f21f7e9 100644 Binary files a/Example/ProjectSettings/UnityConnectSettings.asset and b/Example/ProjectSettings/UnityConnectSettings.asset differ diff --git a/Example/ProjectSettings/VFXManager.asset b/Example/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000..d677936 Binary files /dev/null and b/Example/ProjectSettings/VFXManager.asset differ diff --git a/Example/ProjectSettings/XRSettings.asset b/Example/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000..482590c --- /dev/null +++ b/Example/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file diff --git a/README.md b/README.md index ede33be..6adae9c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # unity-swift + +> Forked from the seemingly abandoned [miyabi/unity-swift](https://github.com/miyabi/unity-swift) Native plugin to write native code in [Swift](https://swift.org) for [Unity](http://unity3d.com/). @@ -6,7 +8,7 @@ Native plugin to write native code in [Swift](https://swift.org) for [Unity](htt Download unity-swift.unitypackage from link below: -- [Releases · miyabi/unity-swift](https://github.com/miyabi/unity-swift/releases) +- [Releases · richardschembri/unity-swift](https://github.com/richardschembri/unity-swift/releases) ## Installation @@ -50,7 +52,7 @@ class Example : NSObject { import Foundation class Example : NSObject { - static func swiftMethod(_ message: String) { + @objc static func swiftMethod(_ message: String) { print("\(#function) is called with message: \(message)") } } @@ -106,9 +108,9 @@ The file names of *UnitySwift-Bridging-Header.h* and *unityswift-Swift.h* are de ## Requirements -iOS 7 or later +iOS 9 or later ## Compatibility -Unity 5.3.5f1 -Xcode 7.3.1 +Unity 2019.2.0f1 +Xcode 10.3 diff --git a/unity-swift.unitypackage b/unity-swift.unitypackage index eb6cf95..3b690b9 100644 Binary files a/unity-swift.unitypackage and b/unity-swift.unitypackage differ