Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

[RELEASED] Universal Deep Linking - Seamless Deep Link and Web Link Association

Discussion in 'Assets and Asset Store' started by ImaginationOverflowPT, Sep 4, 2018.

  1. smartinetz

    smartinetz

    Joined:
    Dec 8, 2017
    Posts:
    49
    Hey...

    we just purchased your plugin but get this error in xcode when I try to deploy to a device

    Code (JavaScript):
    1. ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/smartinetz/Development/XCode/xtendmobilear2.2/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
    2. duplicate symbol '_IUnityGraphicsMetal_GUID' in:
    3.     /Users/smartinetz/Development/XCode/xtendmobilear2.2/Libraries/Plugins/iOS/libAVProVideoiOS.a(AVPPlayerMetalWatermarkedTextureDelegate.o)
    4.     /Users/smartinetz/Development/XCode/xtendmobilear2.2/Libraries/Plugins/iOS/libAVProVideoiOS.a(AVPPlayerMetalTextureDelegate.o)
    5. duplicate symbol '_IUnityGraphicsMetalV1_GUID' in:
    6.     /Users/smartinetz/Development/XCode/xtendmobilear2.2/Libraries/Plugins/iOS/libAVProVideoiOS.a(AVPPlayerMetalWatermarkedTextureDelegate.o)
    7.     /Users/smartinetz/Development/XCode/xtendmobilear2.2/Libraries/Plugins/iOS/libAVProVideoiOS.a(AVPPlayerMetalTextureDelegate.o)
    8. ld: 2 duplicate symbols for architecture arm64
    9. clang: error: linker command failed with exit code 1 (use -v to see invocation)
    Any idea why this is happening and how I can fix it?

    Thanks in advance
     
  2. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi
    It seems the culprit here is other plugin library not ours, please check Plugins/iOS/libAVProVideoiOS
     
  3. smartinetz

    smartinetz

    Joined:
    Dec 8, 2017
    Posts:
    49
    I saw that, but it happend AFTER I added your plugin to the project.
    A while back there was a post here with the same warning:
    Code (CSharp):
    1. ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/.../Development/XCode/appname/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
    2.  
    Could this be related?

    ps: I will update the other plugin and let you know if that fixes it, thanks for your help
     
    Last edited: Oct 8, 2021
  4. smartinetz

    smartinetz

    Joined:
    Dec 8, 2017
    Posts:
    49
    Turned out that it was indeed the AVPro Video plugins problem, thanks again for your help and this great plugin.
     
    ImaginationOverflowPT likes this.
  5. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    No worries, any other issue or feedback feel free to contact us! Also don't forget to leave us a review on the asset store if you haven't already ;)
     
    smartinetz likes this.
  6. mattirwin

    mattirwin

    Joined:
    Jan 3, 2011
    Posts:
    14
    Hello Korchuk, I think I'm seeing something similar as well using this plugin.

    • Unity 2019.4.21f1, iOS 14
    • I'm using Universal Deeplinking to register and respond to a custom deeplink
    • When I tap the deeplink test in Safari, my app is correctly loaded.
    • But when I tap the deeplink within another app, it does not load. The other app can successfully deeplink out to Maps and other iOS apps.

    It looks like some deeplink conventions changed in iOS 14... related?
    https://stackoverflow.com/questions...on-ios-14-devices-but-works-well-on-simulator

    Did you ever find a solution Korchuk?

     
  7. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    We already talked on the Discord, but will leave the answer here for other customers that might find this issue:

    Universal/deep links handling depends on where you are invoking them, some apps don't forward the links correctly to the OS and instead open the browser directly, Telegram seems to be one of those apps, as another example Discord also opens links directly on a web view, any app that doesn't forward link opening to the OS will fail to activate the universal links. Deep links have a similar issue, some apps don't recognize them as links unfortunately there is little you or me can do regarding this matter.

    For testing we recommend our customers to use our test tool in https://universaldeeplinking.imaginationoverflow.com/test, this was made purposely to test domain association and deep link, any app that supports them will have the same effect has this test tool does.
     
  8. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Hi,
    We met a problem on MacOS that our app cannot be launched from browser after we had updated Unity from 2019.4.28f to 2020.3.20f. Chrome's console said "Failed to launch '(our app URI)' because does not have a registered handler. Updating UniversalDeepLinking to the latest didn't solve it. Do you have any idea? Please let us know if you need further information.
    Thanks.
     
  9. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi, that error isn't about the plugin, if that happens it means that you didn't configure the plugin correctly or that your plist file is being overridden by another plugin, if you wish to, reach out to us via email or discord so that we can figure out what is going on.
     
  10. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Hi,
    Thank you for the quick reply. I confirmed the 'URL types' node is missing from Info.plist.
    But it works fine on Unity 2019.4.28f and we changed only Unity version. In addition, the problem still occurs without any other plugins.
    Is the combination of Unity 2020.3.20f and MacOS (11.6) tested?
     
  11. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi
    From our logs we've tested on Unity 2020.3.1, don't see any reason why it shouldn't work on xxx.20, still, I will give it a try and get back to you. PM me your invoice id, so that we can test the correct version.
     
  12. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Hi,
    Thank you for the investigation. I sent you the invoice ID via PM.
    By the way I tried Unity 2021.3.1 and it worked fine. Our issue may be an enbug in Unity 2020.3.X.
    Thanks.
     
  13. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi, just made a clean install of unity 2020.3.20f1, on an empty project, it works as expected (il2cpp and mono), am assuming that you are building on macOS right? Can you send me the build logs to see if anything is happening?
    Thanks!
     
  14. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Hi,
    Thank you for your investigation. I found the problem doesn't occur when we build the app from the buttons on the Build Settings window but only with our script on Unity 2020.3.20. We are isolating the cause of the problem.
     
  15. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi, thanks for the update, let me know when you find out what went wrong.
     
  16. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Hi,
    I found out the cause. The BuildPlayerOptions.locationPathName passed to BuildPlayerWindow.DefaultBuildMethods.BuildPlayer had no extension, and the app was built properly, but UniversalDeepLinking couldn't find its Info.plist. It worked fine in Unity 2020.3.1, so it seems that the behavior has changed after that. Sorry for bothering you.
    Thanks!
     
    ImaginationOverflowPT likes this.
  17. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Weird, we have a number of protections for situations like this on our plugin, can you tell us what was the locationPathName? It just didn't have the .app?
     
  18. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Yes, it just didn't have ".app". I added it and it works now.
    As I said it works fine without ".app" on Unity 2020.3.1 or 2019.4.28.

    The error was as below.
    "********************" in the top line was the app's name without ".app", though I have masked it because I can't publish it.

    FileNotFoundException: Could not find file "/Users/*******/Documents/***/*********/Build/StandaloneOSX_*******_AllInOne_Develop_364a0d31/********************/Contents/Info.plist"
    System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
    System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    System.IO.StreamReader..ctor (System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
    System.IO.File.ReadAllText (System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    ImaginationOverflow.UniversalDeepLinking.Editor.MacOsPosBuild.GetPlistFile (System.String pathToBuiltProject, System.String& plistPath) (at <02574e29fcc544efa516cc7df43bc415>:0)
    ImaginationOverflow.UniversalDeepLinking.Editor.MacOsPosBuild.AddDeepLinks (ImaginationOverflow.UniversalDeepLinking.AppLinkingConfiguration configuration, System.String pathToBuiltProject) (at <02574e29fcc544efa516cc7df43bc415>:0)
    ImaginationOverflow.UniversalDeepLinking.Editor.MacOsPosBuild.PostBuildProcess (ImaginationOverflow.UniversalDeepLinking.AppLinkingConfiguration configuration, System.String pathToBuiltProject) (at <02574e29fcc544efa516cc7df43bc415>:0)
    ImaginationOverflow.UniversalDeepLinking.Editor.BuildProcessor.OnPostprocessBuild (UnityEditor.BuildTarget target, System.String pathToBuiltProject) (at <02574e29fcc544efa516cc7df43bc415>:0)
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    UnityEditor.Build.BuildPipelineInterfaces+AttributeCallbackWrapper.OnPostprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:184)
    UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass17_0.<OnBuildPostProcess>b__1 (UnityEditor.Build.IPostprocessBuildWithReport bpp) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:448)
    UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at /Users/bokken/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:406)
    UnityEditor.DefaultBuildMethods:BuildPlayer(BuildPlayerOptions)
    Build.Editor.ApplicationBuilder:BuildApplication(BuildPlayerOptions) (at Assets/Build/Editor/ApplicationBuilder.cs:19)
    Build.Editor.ApplicationBuilder:BuildApplication(BuildSettings) (at Assets/Build/Editor/ApplicationBuilder.cs:31)
    Build.Editor.BuildMenu:Build_StandaloneOsx_******_AllInOne_Develop_BuildOnly() (at Assets/Build/Editor/BuildMenuItems.cs:203)
     
    Last edited: Oct 23, 2021
    ImaginationOverflowPT likes this.
  19. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Super super weird:
    Code (CSharp):
    1.             //
    2.             //  Unity sometimes doesn't include the .app in the pathToBuiltProject
    3.             //
    4.             if (Directory.Exists(pathToBuiltProject) == false)
    5.                 pathToBuiltProject += ".app";
    ~

    We have this exactly for these situations :S, did you have a folder at the same location without the .app?
     
  20. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    I'm pretty sure that without ".app" build gives an error and adding it will fixes that.
    However, I may have been wrong about it working fine with Unity 2019.4.28 and the cause may be the latest UniversalDeepLinking.
    I just tried to build without ".app" on Unity 2019.4.28 and got an error.
    Sorry for the confusion.
     
  21. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    I will add extra security to that, although that if should fix the issue....
    Thanks for letting us know!
     
  22. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    Hi again,
    Now we are meeting DllNotFoundException of MacIL2CPP on Apple Silicon machines.
    In the inspector of MacIL2CPP.dylib I have ticked Standalone and set CPU AnyCPU.
    The target architecture is 'Intel 64-bit + Apple silicon' and the scripting backend is 'IL2CPP.'
    Do you have any idea about it?
    Or is there any documentation somewhere on the correct settings?
    Thanks.
     
    Last edited: Oct 27, 2021
  23. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    There is already an update in certification fixing this issue, I will send you the correct lib via pm
     
  24. tomtanak

    tomtanak

    Joined:
    Mar 24, 2020
    Posts:
    30
    The new library file fixed the problem.
    Thank you!
     
    ImaginationOverflowPT likes this.
  25. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Awesome thanks for letting us know, don't forget to leave us a review on the asset store if you can ;)
     
  26. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi everyone, we just released an update to Universal Deep Linking fixing an issue on apple silicon il2cpp builds and a few other changes, you can download it right now!
    Check the full changelog on our blog post.
     
  27. lim_hyungkyu

    lim_hyungkyu

    Joined:
    Oct 14, 2018
    Posts:
    6
    Hi, everyone.
    I'm testing in 2021.2.10 version.
    But the LinkActivated function doesn't work.
    It worked well in 2020.3.24 version.
    Can you check it out?
     
  28. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi

    Can you tell us on what platform did you find this issue? How did you test? Did you tried using our demo scene?
     
    Last edited: Feb 7, 2022
  29. lim_hyungkyu

    lim_hyungkyu

    Joined:
    Oct 14, 2018
    Posts:
    6
    I tried it on MacOs.
    The code we tested is as follows.

    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using TMPro;
    4. using UnityEngine;
    5. using UnityEngine.UI;
    6.  
    7. public class Demo : MonoBehaviour
    8. {
    9.     public TextMeshProUGUI text;
    10.     // Start is called before the first frame update
    11.     void Start()
    12.     {
    13.         ImaginationOverflow.UniversalDeepLinking.DeepLinkManager.Instance.LinkActivated += Instance_LinkActivated;
    14.     }
    15.  
    16.     void OnDestroy()
    17.     {
    18.         ImaginationOverflow.UniversalDeepLinking.DeepLinkManager.Instance.LinkActivated -= Instance_LinkActivated;
    19.     }
    20.  
    21.     // Update is called once per frame
    22.     void Update()
    23.     {
    24.      
    25.     }
    26.  
    27.     private void Instance_LinkActivated(ImaginationOverflow.UniversalDeepLinking.LinkActivation linkActivation)
    28.     {
    29.         // var url = linkActivation.Uri;
    30.         // var querystring = linkActivation.RawQueryString;
    31.         // var qParameter = linkActivation.QueryString["q"];
    32.  
    33.         text.text = linkActivation.Uri;
    34.     }
    35. }
    36.  
     
  30. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi,
    Can you pm me your invoice id, I will send you an updated version for that unity version (the update is still in certification....)
     
  31. SonuIxia

    SonuIxia

    Joined:
    Sep 3, 2018
    Posts:
    16
    Hi
    Hi,
    I am facing this issue currently while making build for iOS
    arm64 function not 4-byte aligned: _unwind_tester from /Users/admin/Downloads/FlinnVR11232022/Libraries/libiPhone-lib.a(unwind_test_arm64.o)

    Undefined symbols for architecture arm64:

    "_DeepLink_RegisterCallback", referenced from:

    _IosLinkProvider_DeepLink_RegisterCallback_mD6E701BEA1BE0752234A2D746915E887988CB152 in ImaginationOverflow.UniversalDeepLinking.Platform.o

    _IosLinkProvider_Initialize_m4B42500270A4ABDA4080F4BBF94774A956860B06 in ImaginationOverflow.UniversalDeepLinking.Platform.o

    (maybe you meant: _IosLinkProvider_DeepLink_RegisterCallback_mD6E701BEA1BE0752234A2D746915E887988CB152)

    ld: symbol(s) not found for architecture arm64

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Unity Version : 2019.4.28 LTS
    Xcode : 13.4.1
    Target iPhone ios : 13.0
    Using Google VR Sdk and Unity XR Plugin
    "this is a VR application and it was working fine earlier"
     
  32. SonuIxia

    SonuIxia

    Joined:
    Sep 3, 2018
    Posts:
    16
    Hi,
    I am facing this issue currently while making build for iOS:
    arm64 function not 4-byte aligned: _unwind_tester from /Users/admin/Downloads/FlinnVR11232022/Libraries/libiPhone-lib.a(unwind_test_arm64.o)

    Undefined symbols for architecture arm64:

    "_DeepLink_RegisterCallback", referenced from:

    _IosLinkProvider_DeepLink_RegisterCallback_mD6E701BEA1BE0752234A2D746915E887988CB152 in ImaginationOverflow.UniversalDeepLinking.Platform.o

    _IosLinkProvider_Initialize_m4B42500270A4ABDA4080F4BBF94774A956860B06 in ImaginationOverflow.UniversalDeepLinking.Platform.o

    (maybe you meant: _IosLinkProvider_DeepLink_RegisterCallback_mD6E701BEA1BE0752234A2D746915E887988CB152)

    ld: symbol(s) not found for architecture arm64

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Unity Version : 2019.4.28 LTS
    Xcode : 13.4.1
    Target iPhone ios : 13.0
    Using Google VR Sdk and Unity XR Plugin
    "this is a VR application and it was working fine earlier"
     
  33. SonuIxia

    SonuIxia

    Joined:
    Sep 3, 2018
    Posts:
    16
    Hi,
    I am facing this issue currently while making build for iOS:
    arm64 function not 4-byte aligned: _unwind_tester from /Users/admin/Downloads/FlinnVR11232022/Libraries/libiPhone-lib.a(unwind_test_arm64.o)

    Undefined symbols for architecture arm64:

    "_DeepLink_RegisterCallback", referenced from:

    _IosLinkProvider_DeepLink_RegisterCallback_mD6E701BEA1BE0752234A2D746915E887988CB152 in ImaginationOverflow.UniversalDeepLinking.Platform.o

    _IosLinkProvider_Initialize_m4B42500270A4ABDA4080F4BBF94774A956860B06 in ImaginationOverflow.UniversalDeepLinking.Platform.o

    (maybe you meant: _IosLinkProvider_DeepLink_RegisterCallback_mD6E701BEA1BE0752234A2D746915E887988CB152)

    ld: symbol(s) not found for architecture arm64

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Unity Version : 2019.4.28 LTS
    Xcode : 13.4.1
    Target iPhone ios : 13.0
    Using Google VR Sdk and Unity XR Plugin
    "this is a VR application and it was working fine earlier"
     
  34. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    The issue here seems to be that the library isn't getting linked on your Xcode project, simply add it manually and it should link just fine
     
  35. SonuIxia

    SonuIxia

    Joined:
    Sep 3, 2018
    Posts:
    16
    How to add the library as i don't know which library to add and form where. If you can guide me for the same it would be a great help for me.
     
  36. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi,
    You can find the lib under your project in:
    \<your_project>\Assets\Plugins\ImaginationOverflow\UniversalDeepLinking\libs\iOS\libUniversalDeepLink.a


    For adding a new static lib on xcode you can follow this link with instructions.
     
  37. SonuIxia

    SonuIxia

    Joined:
    Sep 3, 2018
    Posts:
    16
    Hi,
    There is no such lib file under libs\iOS. I have checked it using finder.
     
  38. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    upload_2022-11-25_16-1-33.png

    Hi, like I said on the discord server, reimport the plugin you probably deleted it. The image above was taken directly from the asset store ;)
     
  39. SonuIxia

    SonuIxia

    Joined:
    Sep 3, 2018
    Posts:
    16
    Okay Thanks, I will check this one
     
    ImaginationOverflowPT likes this.
  40. Fluentworlds

    Fluentworlds

    Joined:
    Mar 27, 2015
    Posts:
    2
    Hi! We have an app build for MacOS (universal) with the latest version of imagination overflow installed (1.8.4). The app builds just fine but when we attempt to use deep links to send the user to the app from our website, the browser errors with a

    "Failed to launch '{url}' because the scheme does not have a registered handler."

    The app was built on an x86 mac computer - according to the documentation (https://universaldeeplinking.imaginationoverflow.com/docs/GettingStarted/#standalone-caveats) the registering of the protocol on the Mac OS should be handled. Is there anything that needs to be done or setup outside of the plugin?

    Note if I go add the protocol to my OS list of recognized protocols, everything works fine. I just need the app (Through imagination overflow) to be doing that for us.
     
  41. WaqasGameDev

    WaqasGameDev

    Joined:
    Apr 17, 2020
    Posts:
    117
    So this in continuation to this post. We were able to finally solve this issue. Actually we were building our app through Jenkins and once the built was done, we were not seeing any Node saying CFBundleURLTypes which is responsible for holding the relevant handlers and register them.

    That node should look something like this in final Info.Plist file

    Code (CSharp):
    1.  
    2. <key>CFBundleURLTypes</key>
    3.    <array>
    4.      <dict>
    5.        <key>CFBundleTypeRole</key>
    6.        <string>Viewer</string>
    7.        <key>CFBundleURLIconFile</key>
    8.        <string>Logo</string>
    9.        <key>CFBundleURLName</key>
    10.        <string>******This should be your bundle name*******</string>
    11.        <key>CFBundleURLSchemes</key>
    12.        <array>
    13.          <string>*******This should be your scheme to register********</string>
    14.        </array>
    15.      </dict>
    16.    </array>
    17.  
    Upon looking our build console logs, we found the issue was same as highlighted by one of user above. The PostProcessBuild script included with the Package itself, was not able to find the Info.Plist file and ultimately was not able to inject this node and schemes. The exact responsible script was MacOsPosBuild script. There you will see a Method called PostBuildProcess which takes pathToBuildProject as a parameter and find certain files based on that path. Sometimes unity does not pass .app extension as part of the path to pathToBuildProject parameter. In this case PostBuildProcess may fail to find the relevant folder and hence Info.Plist file.

    Though developer of the plugin as added a safety check i.e.

    Code (CSharp):
    1. //
    2.            //  Unity sometimes doesn't include the .app in the pathToBuiltProject
    3.            //
    4.             if (Directory.Exists(pathToBuiltProject) == false)
    5.             pathToBuiltProject += ".app";
    But still there is a method which gets executed before this path validation is done i.e. CheckIfIsXcodeBuild which causes failure in the PostBuildProcess method. So to fix this, simply shifts that path validation to the very start of the method so that it always find the correct folder and hence relevant Info.Plist file.
     
  42. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi thanks for letting us know, we already patched things at our end too and will include it on the next update!
     
  43. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    We just released a new major version of our Universal Deep Linking plugin, you can check all the details on our blog.
    You can get it now on the Unity Asset store - Regular Version | Pro Version

    This version is the culmination of all the feedback we collected throughout the years feature wise it includes:

    • The ability to debug directly in the editor with live deep links (pro only), allowing testing of the integration of features like OAuth frictionless.
    • Performance and memory usage improvements on all platforms, the plugin was always lightweight, but now is even more.
    • Windows applications will no longer need a launcher (pro only), UDL now brings a built-in launcher, that deals with the registration and configuration for you, you just need to check a box in the configuration window.
    • The test window now remembers the last tests you did.
    • Some minor changes on the generation of manifests and plists.
    • Refreshed some sources to the newest google and apple APIs.
     
  44. SceneForgeStudio

    SceneForgeStudio

    Joined:
    Feb 28, 2017
    Posts:
    446
    @ImaginationOverflowPT
    I just purchased the latest version, but after I installed it, I get this error:

    Code (CSharp):
    1. Assets\Plugins\ImaginationOverflow\UniversalDeepLinking\Scripts\Providers\WindowsLinkProvider.cs(70,34): error CS1069: The type name 'RegistryKey' could not be found in the namespace 'Microsoft.Win32'. This type has been forwarded to assembly 'Microsoft.Win32.Registry, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' Consider adding a reference to that assembly.
    I'm using Unity 2021.3.20 LTS on Windows with DotNet Standard.
    Any ideas?

    Thanks!
     
    Last edited: Mar 9, 2023
  45. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Do you need to be using .net standard? The win32 APIs aren't available on the .net standard.
    If you can change it to .NET framework (Player Settings -> Other Settings -> Api Compatibility level).
     
  46. SceneForgeStudio

    SceneForgeStudio

    Joined:
    Feb 28, 2017
    Posts:
    446
    Oh interesting, I didn't know that. I switched because I'm building my project for WebGL as well (don't need deep linking for that) and I saw that Standard is better for that. I suppose I'll switch it back.

    If I build for WebGL with this in my project, will I get errors?

    I suggest adding a note about the Framework requirement in the asset's description.

    Thanks!
     
  47. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    Hi,
    You will not get any errors if you build for WebGL.
    The .net framework isn't a necessity, we will fix this issue on our next update ;)
     
  48. SceneForgeStudio

    SceneForgeStudio

    Joined:
    Feb 28, 2017
    Posts:
    446
    Amazing, thanks so much! Looking forward to the update!
     
  49. ImaginationOverflowPT

    ImaginationOverflowPT

    Joined:
    Sep 15, 2017
    Posts:
    171
    The update is live ;)
    Let me know how it went, and don't forget to leave us a review on the asset store!
     
    SceneForgeStudio likes this.
  50. SceneForgeStudio

    SceneForgeStudio

    Joined:
    Feb 28, 2017
    Posts:
    446
    So I finally got around to importing the plugin, and while the DeeplinkingExample.cs script seems to be working, if I try to reference ImaginationOverflow in a new script, I get an error saying it can't find the namespace.

    Is there something I'm not setting up right?
    Thanks!