Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

NatShare - Free Sharing API

Discussion in 'Assets and Asset Store' started by Lanre, Apr 17, 2018.

  1. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    I just started using the NatShare 1.2 from the asset store. I'm having issues with saving Videos from NatCorder on Android. It's not failing but no video is visible in gallery/photos app. Saving Images/Textures works correctly.

    Is this a known issue?
     
  2. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    You should delete the core-1.0.0-rc02.aar file. Share the crash logs.
     
  3. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    It seems that Unity might have removed this namespace in Unity 2019.2. Delete that class entirely. Then when you build your Xcode project, add the "NSPhotoLibraryUsageDescription" and "NSPhotoLibraryAddUsageDescription" keys to the Info.plist file.
     
  4. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Can you upload the logs from logcat?
     
  5. Leeong

    Leeong

    Joined:
    Sep 10, 2018
    Posts:
    11
    This is the crash log
     

    Attached Files:

  6. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    Here's the log, but I don't see anything coming from NatShare/Native. It looks like all of my Debug.Logs.
    https://www.dropbox.com/s/xo3ehv43pr307gg/NatShare VideoSaveFail Log.txt?dl=0

    And my code for saving media is as follows:
    Code (CSharp):
    1. using (var payload = new SavePayload(Application.productName, () => onSuccess?.Invoke()))
    2.             {
    3.                 payload.AddMedia(videoPath);
    4.             }
    @Lanre, Have to been able to save a video on android? if so, I'll keep trying to make it work. Otherwise, I'll have to wait for a bug fix.
     
    Last edited: Dec 18, 2019
  7. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Thanks for the logs. It's coming from NatCorder. I'm working on a fix now.
     
  8. haer497

    haer497

    Joined:
    Nov 7, 2017
    Posts:
    1
    i hava a problem when use natshare
    upload_2019-12-20_18-12-20.png

    logcat error: AndroidJavaException: java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/Android/data/com.DefaultCompany.SdkTest/cache/1234.mp4
     

    Attached Files:

  9. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Can you share the full logs? I'm not too sure why you are referring to a file in the "cache" directory.
     
  10. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    This is weird. Can you create an issue on GitHub?
     
  11. BayouSoftware

    BayouSoftware

    Joined:
    Oct 7, 2012
    Posts:
    15
    Hi Lanre,
    I've also ran into the same issue as mtalbott, where NatShare doesn't save the NatCorder video to the camera roll on Android, a quick fix would be appreciated as I'm on a deadline.

    Thanks
     
    Lanre likes this.
  12. SniperED007

    SniperED007

    Joined:
    Sep 29, 2013
    Posts:
    345
    Is there a fix yet for this?
     
  13. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    NatCorder 1.6.6 will fix this issue, and the update should be live within a few days (it's awaiting approval from Unity).
     
  14. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Fixed in upcoming NatShare 1.2.1 (currently awaiting Asset Store review).
     
  15. SniperED007

    SniperED007

    Joined:
    Sep 29, 2013
    Posts:
    345
    I don't even have NatCorder installed?
    My issue was this:
    "updating to NatShare 1.2.0, errors will appear in the package. Removing core-1.0.0-rc02.aar can be packaged, but it will crash when saving the video. How to avoid mistakes?"
    Except I'm not sharing video. Just text.
     
  16. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Sorry, I followed the posts up to what you quoted and it had logs, which is what I was referring to. Can you upload crash logs?
     
  17. SniperED007

    SniperED007

    Joined:
    Sep 29, 2013
    Posts:
    345
    Unfortunately, I can't at the moment.
    Basically, delete the core-1.0.0-rc02.aar file and try to share text on the device. It throws an error "saying sharing failed, please try again"
     
  18. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    I can't delete core...aar. It contains `FileProvider`, which is necessary for sharing. Without it the app fails to start with a `ClassNotFoundException`. Send the logs when you can.
     
  19. Leeong

    Leeong

    Joined:
    Sep 10, 2018
    Posts:
    11
    Whether to support Android Q?screenshots cannot be saved to the album in Android Q.
     
  20. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Can you share the logs from logcat in a .txt file?
     
  21. Leeong

    Leeong

    Joined:
    Sep 10, 2018
    Posts:
    11
    NatShare Error: SavePayload failed to commit image with error: java.io.FileNotFoundException: /storage/emulated/0/DCIM/201912300858031.jpg/504981792800550.png: open failed: ENOENT (No such file or directory)
     
  22. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Can you share your code? This path looks incorrect.
     
  23. Leeong

    Leeong

    Joined:
    Sep 10, 2018
    Posts:
    11
    The problem is solved, as you said this path is incorrect.Thanks!
     
    Lanre likes this.
  24. Shhteve

    Shhteve

    Joined:
    Jan 23, 2013
    Posts:
    8
    Still having saving issues on Android. Am I missing something @Lanre? Screen Shot 2019-12-30 at 11.10.52 AM.png Screen Shot 2019-12-30 at 11.11.38 AM.png
     
  25. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Make sure that your app has external write permissions. Check the logs from logcat for more detailed information as to why an operation fails.
     
  26. Shhteve

    Shhteve

    Joined:
    Jan 23, 2013
    Posts:
    8
    Yep, ended up being a permission issue. I had to put in explicit permissions requests despite setting the write permissions to External in the Unity Build Settings. Maybe something that could go into the SavePayload implementations?
     
  27. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    There's already a Unity function for permissions.
     
  28. Leeong

    Leeong

    Joined:
    Sep 10, 2018
    Posts:
    11
    device.jpg
    @Lanre Hi,I can't save photos on Huawei phones with Emui10 system, the systems below Emui10 are running normally. Is it the fault of the mobile system? Or any other reason? Attachment includes device information screenshot and Log.
     

    Attached Files:

    • log.txt
      File size:
      157.2 KB
      Views:
      657
  29. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Make sure your app has external write permissions (check in your phone's settings). I should also note that NatSuite API's only support the official Android, and not any unofficial OS'es built upon Android.
     
  30. nicloay

    nicloay

    Joined:
    Jul 11, 2012
    Posts:
    540
    Something strange happens to me.
    I just updated the plugin to the latest 1.2.1 version from github, on unity 2017.4.31 (I replaced "=>" to methods, because of different c# language level).

    When I use share the same as in README.md
    Code (csharp):
    1.  
    2. private void DoShareImage()
    3. {
    4.    using (var payload = new SharePayload())
    5.    {
    6.       payload.AddImage(GetSelectedTexture());
    7.    }
    8.    Debug.Log(">>> SHARE IMAGE DONE <<< ");
    9. }
    10.  
    Everything works well apart of the "Save Image button" on the native popup which appeared after the function call.

    So. when I click this button the images is stored in to the gallery, but the call back i

    Here is e.g. save to shared album log
    Code (csharp):
    1.  
    2. 2020-01-05 07:58:04.289992+0100 app_name_here[1045:637271] [ShareSheet] connection invalidated
    3. >>> SHARE IMAGE DONE <<<
    4.  
    and this is "Save image" which doesn't work
    Code (csharp):
    1.  
    2. 2020-01-05 07:58:22.089912+0100 app_name_here[1045:637286] [ShareSheet] connection invalidated
    3.  
    Is anyone faced similar problem?
    I'm not good at ios part but is this possible that it's a problem like this?

    Thanks.
     
    Last edited: Jan 5, 2020
  31. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Your code isn't actually using the completion handler. It is logging immediately after the `using` block (which is async). This suggests that the app is actually hanging. Can you confirm this? If you can, then create an issue on GitHub.
     
  32. nicloay

    nicloay

    Joined:
    Jul 11, 2012
    Posts:
    540
    Should it be async? I thought that unity player is paused when the system popup is appeared. and async is only objective c code.

    Anyway I'll report the bug on the github.

    Thanks.

    update:
    link to the bug https://github.com/natsuite/NatShare-API/issues/73
     
    Last edited: Jan 6, 2020
    Lanre likes this.
  33. AlexeySeverin

    AlexeySeverin

    Joined:
    Oct 6, 2016
    Posts:
    12
    I have issues on Samsung Galaxy S10+, currently on "One UI 2" (built upon Android 10), but it was the same with previous version of One UI. The videos from NatCorder are saved via NatShare, but they don't immediately visible in the image gallery, instead they appear much later (like hours later). I am using the latest version of NatShare. Could you please help with this issue? Or does your message quoted above mean that your APIs don't support basically all the new Samsung Galaxy devices since they run on Samsung's own version of Android?

    Edit: actually I've just found out that the problem is the same on official Android 7.0. Attaching the logcat
     

    Attached Files:

    Last edited: Jan 7, 2020
  34. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    I'll check this out. In the meantime, I recommend opening an issue on GitHub.
    We build for Android specifically, not any mods or variations thereof. Though it looks like the Samsung UI is just a UI overlay, so everything else should work as normal.
     
  35. AlexeySeverin

    AlexeySeverin

    Joined:
    Oct 6, 2016
    Posts:
    12
    Thank you for the reply. Actually I figured out that even though I updated the plugin to the latest version I didn't know about the major changes in the plugin structure and was in fact still using old code (NatShare.cs) which to my surprise still partially worked worked.

    Now could you please tell me how I could implement a delayed share? Say save a screenshot or video to the gallery and want to share it later. How do I get the path where the files go after they are saved with SavePayload? Thank you in advance.
     
  36. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    I'm not sure what this is exactly. There is no concept of delaying sharing with NatShare.
    This is not supported. On systems like iOS, there isn't a simple flat file structure. It's a one-way road.
     
  37. AlexeySeverin

    AlexeySeverin

    Joined:
    Oct 6, 2016
    Posts:
    12
    Ok, but I guess there should be some way to do what I need, which is:
    1) Record a video (with NatCorder) or take a screenshot
    2) Have video or screenshot saved in a permanent location and be visible in the phone's Gallery app
    3) During current app session be able to share the last taken video or screenshot directly from the app.
    This should not be too complicated I guess, but I haven't figured out yet how to do it. I only need to be able to share video/screenshot during current session, I don't need persistence for sharing. Probably having a local copy of the file hanging around could work, but I would prefer if the copy wouldn't remain in persistenceDataPath after I close and relaunch the app the app.

    Another (unrekated) issue: on my Android sharing to Instagram doesn't work, both for video and image. It works for WhatsApp, Facebook, mail, but if I choose Instagram Feed it just opens Instagram and does nothing with the media, while choosing Instagram Stories doesn't even open Instagram. Any suggestions? Should I open an issue on GitHub for this one? Thank you.
     
  38. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    It sounds like you simply have to retain a reference to the last recorded video or screenshot in order to use it later. All files will remain on the file system (persistent data path and others) unless explicitly deleted. It is up to your app and/or your users to manage this.
    The receiving app has total control of what to do with the sharing payload. As a result this wouldn't qualify as a NatCorder issue.
     
  39. AlexeySeverin

    AlexeySeverin

    Joined:
    Oct 6, 2016
    Posts:
    12
    Actually it would, but rather NatShare than NatCorder, because the result is the same regardless of whether you're sharing video or image: works with Gmail, Facebook, Whatsapp, but doesn't work with Instagram. The thing is that some other plugins I tried had Instagram sharing working fine (at least for images, didn't try videos). Could you please look into this? Thank you.
     
    Lanre likes this.
  40. Aidan-Wolf

    Aidan-Wolf

    Joined:
    Jan 6, 2014
    Posts:
    59
    NatShare is working well for everything except when a share option (such as Twitter) is selected from the share modal, then canceled. Once the share modal is then cancelled, the app crashes.
     
    timbokoppers likes this.
  41. HEROTECH70

    HEROTECH70

    Joined:
    May 24, 2017
    Posts:
    74
    Unable to simultaneously satisfy constraints

    Code (CSharp):
    1.      
    2.        using (var payload = new NatShare.SavePayload())
    3.         {
    4.             payload.AddImage(shareTexture);
    5.         }
    6.  
    bug happening on ipad with ios 13.3 not reproduced on ipad with ios 13.1.2

    share dialog is not showing properly

    {\rtf1\ansi\ansicpg1252\cocoartf2511
    \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Menlo-Bold;}
    {\colortbl;\red255\green255\blue255;\red255\green255\blue255;\red31\green31\blue36;}
    {\*\expandedcolortbl;;\csgenericrgb\c100000\c100000\c100000;\csgenericrgb\c12054\c12284\c14131;}
    \paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
    \deftab593
    \pard\tx593\pardeftab593\pardirnatural\partightenfactor0

    \f0\b\fs24 \cf2 \cb3 ArBottomBarUI:ShareScreenShot()\
    UnityEngine.Events.UnityEvent:Invoke()\
    UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)\
    UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)\
    UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()\
    UnityEngine.EventSystems.StandaloneInputModule:process()\
    \
    (Filename: ./Runtime/Export/Debug.bindings.h Line: 45)\
    \
    2020-01-15 15:14:43.787529+0100 ??????[1264:898430] [LayoutConstraints] Unable to simultaneously satisfy constraints.\
    Probably at least one of the constraints in the following list is one you don't want. \
    Try this: \
    (1) look at each constraint and try to figure out which you don't expect; \
    (2) find the code that added the unwanted constraint or constraints and fix it. \
    (\
    "<NSLayoutConstraint:0x283299270 LPLinkView:0x127a46c00.leading == UILayoutGuide:0x282862680'UIViewLayoutMarginsGuide'.leading (active)>",\
    "<NSLayoutConstraint:0x283298960 H:[LPLinkView:0x127a46c00]-(59)-| (active, names: '|':_UIActivityContentTitleView:0x127aaff70 )>",\
    "<NSLayoutConstraint:0x2832b64e0 H:|-(0)-[_UIActivityContentTitleView:0x127aaff70] (active, names: '|':_UINavigationBarContentView:0x12d2dcfe0 )>",\
    "<NSLayoutConstraint:0x2832b4b90 _UIActivityContentTitleView:0x127aaff70.trailing == _UINavigationBarContentView:0x12d2dcfe0.trailing (active)>",\
    "<NSLayoutConstraint:0x2832b72a0 'UIView-Encapsulated-Layout-Width' _UINavigationBarContentView:0x12d2dcfe0.width == 0 (active)>",\
    "<NSLayoutConstraint:0x2832994f0 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x282862680'UIViewLayoutMarginsGuide'](LTR) (active, names: '|':_UIActivityContentTitleView:0x127aaff70 )>"\
    )\
    \
    Will attempt to recover by breaking constraint \
    <NSLayoutConstraint:0x283299270 LPLinkView:0x127a46c00.leading == UILayoutGuide:0x282862680'UIViewLayoutMarginsGuide'.leading (active)>\
    \
    Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.\
    The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.}
     
    Last edited: Jan 15, 2020
  42. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    Can you share the crash logs?
     
    timbokoppers likes this.
  43. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    I am working on a fix for this in the next update.
     
  44. codedotart

    codedotart

    Joined:
    Sep 19, 2015
    Posts:
    13
    Hi,

    Thanks for making this plugin available for free. I am also using your NatCorder asset which is working very well so far.
    But whenever I am trying to build my game for android. I am getting the error below. I understand this is happening because I am using another plugin (Easy Mobile Pro) and it is asking the same WRITE_EXTERNAL_STORAGE permission which is required by NatShare. But I am not able to understand how to resolve this conflict. When I delete NatShare I am able to build successfully. Some help will be greatly appreciated.


    CommandInvokationFailure: Gradle build failed.
    /Applications/Unity/Hub/Editor/2018.4.14f1/PlaybackEngines/AndroidPlayer/Tools/OpenJDK/MacOS/bin/java -classpath "/Applications/Unity/Hub/Editor/2018.4.14f1/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleDebug"

    stderr[

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':processDebugResources'.
    > Android resource linking failed
    /Users/computer/.gradle/caches/transforms-2/files-2.1/c9dd1fbc44246d1f06792309875d66f0/res/values/values.xml:89:5-125:25: AAPT: error: resource android:attr/fontVariationSettings not found.

    /Users/computer/.gradle/caches/transforms-2/files-2.1/c9dd1fbc44246d1f06792309875d66f0/res/values/values.xml:89:5-125:25: AAPT: error: resource android:attr/ttcIndex not found.

    error: failed linking references.

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 8s
    ]
    stdout[
    > Task :preBuild UP-TO-DATE
    > Task :EasyMobile:preBuild UP-TO-DATE
    > Task :EasyMobile:preDebugBuild UP-TO-DATE
    > Task :EasyMobile:checkDebugManifest

    > Task :EasyMobile:processDebugManifest
    /Users/computer/Documents/AmruthaRamamAR-3/Temp/gradleOut/EasyMobile/AndroidManifest.xml:12:5-14:32 Warning:
    uses-permission#android.permission.WRITE_EXTERNAL_STORAGE was tagged at AndroidManifest.xml:12 to replace another declaration but no other declaration present

    > Task :preDebugBuild UP-TO-DATE
    > Task :EasyMobile:compileDebugAidl NO-SOURCE
    > Task :compileDebugAidl NO-SOURCE
    > Task :EasyMobile:packageDebugRenderscript NO-SOURCE
    > Task :compileDebugRenderscript NO-SOURCE
    > Task :checkDebugManifest UP-TO-DATE
    > Task :generateDebugBuildConfig UP-TO-DATE
    > Task :prepareLintJar UP-TO-DATE
    > Task :generateDebugSources UP-TO-DATE
    > Task :EasyMobile:compileDebugRenderscript NO-SOURCE
    > Task :EasyMobile:generateDebugBuildConfig
    > Task :EasyMobile:generateDebugResValues
    > Task :EasyMobile:generateDebugResources
    > Task :EasyMobile:packageDebugResources
    > Task :EasyMobile:generateDebugRFile
    > Task :EasyMobile:prepareLintJar UP-TO-DATE
    > Task :EasyMobile:generateDebugSources
    > Task :EasyMobile:javaPreCompileDebug
    > Task :EasyMobile:compileDebugJavaWithJavac
    > Task :EasyMobile:bundleLibCompileDebug
    > Task :javaPreCompileDebug UP-TO-DATE
    > Task :mainApkListPersistenceDebug UP-TO-DATE
    > Task :generateDebugResValues UP-TO-DATE
    > Task :generateDebugResources UP-TO-DATE
    > Task :mergeDebugResources UP-TO-DATE
    > Task :createDebugCompatibleScreenManifests UP-TO-DATE

    > Task :processDebugManifest
    /Users/computer/Documents/AmruthaRamamAR-3/Temp/gradleOut/src/main/AndroidManifest.xml:27:3-106 Warning:
    uses-permission#android.permission.WRITE_EXTERNAL_STORAGE was tagged at AndroidManifest.xml:27 to replace another declaration but no other declaration present

    > Task :processDebugResources FAILED

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
    21 actionable tasks: 11 executed, 10 up-to-date
    ]
    exit code: 1
    UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <f92457847c324e90907abe57dde6951d>:0)
    Rethrow as GradleInvokationException: Gradle build failed
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <f92457847c324e90907abe57dde6951d>:0)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr) (at /Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
     
  45. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    The actual error seems to be coming from some Android resource linking failure (fontVariationSettings/ttcIndex). The WRITE_EXTERNAL_STORAGE error is merely a warning.
     
  46. codedotart

    codedotart

    Joined:
    Sep 19, 2015
    Posts:
    13
    Yes, you are correct, I got rid of this issue by switching the target api to 28. But now I am running into a different issue while building. Due to the upgrade I am getting the following error.

    CommandInvokationFailure: Gradle build failed.
    /Applications/Unity/Hub/Editor/2018.4.14f1/PlaybackEngines/AndroidPlayer/Tools/OpenJDK/MacOS/bin/java -classpath "/Applications/Unity/Hub/Editor/2018.4.14f1/PlaybackEngines/AndroidPlayer/Tools/gradle/lib/gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleDebug"

    stderr[

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':checkDebugDuplicateClasses'.
    > 1 exception was raised by workers:
    java.lang.RuntimeException: Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.graphics.drawable.IconCompatParcelizer found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.accessibilityservice.AccessibilityServiceInfoCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat$1 found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat$OnRequestPermissionsResultCallback found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat$PermissionCompatDelegate found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat$RequestPermissionsRequestCodeValidator found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat$SharedElementCallback21Impl found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityCompat$SharedElementCallback21Impl$1 found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityManagerCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityOptionsCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ActivityOptionsCompat$ActivityOptionsCompatImpl found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.AlarmManagerCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.AppComponentFactory found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.AppLaunchChecker found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.AppOpsManagerCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.BundleCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.BundleCompat$BundleCompatBaseImpl found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ComponentActivity found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ComponentActivity$ExtraData found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.CoreComponentFactory found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.CoreComponentFactory$CompatWrapped found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.FrameMetricsAggregator found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.FrameMetricsAggregator$FrameMetricsApi24Impl$1 found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.FrameMetricsAggregator$FrameMetricsBaseImpl found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.FrameMetricsAggregator$MetricType found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$CommandProcessor found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$CompatJobEngine found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$CompatWorkEnqueuer found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$CompatWorkItem found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$GenericWorkItem found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$JobServiceEngineImpl found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$JobServiceEngineImpl$WrapperWorkItem found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$JobWorkEnqueuer found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.JobIntentService$WorkEnqueuer found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NavUtils found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationBuilderWithBuilderAccessor found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Action found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Action$Builder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Action$Extender found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Action$SemanticAction found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Action$WearableExtender found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$BadgeIconType found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$BigPictureStyle found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$BigTextStyle found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Builder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$CarExtender found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$CarExtender$UnreadConversation found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$CarExtender$UnreadConversation$Builder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$DecoratedCustomViewStyle found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Extender found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$GroupAlertBehavior found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$InboxStyle found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$MessagingStyle found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$MessagingStyle$Message found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$NotificationVisibility found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$StreamType found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$Style found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompat$WearableExtender found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompatBuilder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompatExtras found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompatJellybean found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompatSideChannelService found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationCompatSideChannelService$NotificationSideChannelStub found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat$CancelTask found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat$NotifyTask found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat$ServiceConnectedEvent found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat$SideChannelManager found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat$SideChannelManager$ListenerRecord found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.NotificationManagerCompat$Task found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.Person found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.Person$Builder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.RemoteInput found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.RemoteInput$Builder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ServiceCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ServiceCompat$StopForegroundFlags found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ShareCompat found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ShareCompat$IntentBuilder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.ShareCompat$IntentReader found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.SharedElementCallback found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.SharedElementCallback$OnSharedElementsReadyListener found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.TaskStackBuilder found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core.app.TaskStackBuilder$SupportParentable found in modules classes.jar :)androidx.core.core-1.0.0:) and classes.jar :)core-1.0.0-rc02:)
    Duplicate class androidx.core<message truncated>
     
  47. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    NatShare has a core-1.0.0-rc2 library for those who might not have the AndroidX libraries. You can delete it (it is in NatShare > Plugins > Android).
     
  48. nicloay

    nicloay

    Joined:
    Jul 11, 2012
    Posts:
    540
    On some devices it doesn't work.
    I tried the latest 1.2 and last version from github.
    On iPad pro with latest iOS (13.3) it show following error
    Code (csharp):
    1.  
    2. 2020-01-19 19:54:33.738484+0100 appname[1627:2741241] [LayoutConstraints] Unable to simultaneously satisfy constraints.
    3.    Probably at least one of the constraints in the following list is one you don't want.
    4.   Try this:
    5.       (1) look at each constraint and try to figure out which you don't expect;
    6.        (2) find the code that added the unwanted constraint or constraints and fix it.
    7. (
    8.    "<NSLayoutConstraint:0x2808f7700 LPLinkView:0x11e289590.leading == UILayoutGuide:0x281277020'UIViewLayoutMarginsGuide'.leading   (active)>",
    9.    "<NSLayoutConstraint:0x2808f7980 H:[LPLinkView:0x11e289590]-(59)-|   (active, names: '|':_UIActivityContentTitleView:0x116bb3540 )>",
    10.    "<NSLayoutConstraint:0x2808eac60 H:|-(0)-[_UIActivityContentTitleView:0x116bb3540]   (active, names: '|':_UINavigationBarContentView:0x11e22c320 )>",
    11.    "<NSLayoutConstraint:0x2808ea710 _UIActivityContentTitleView:0x116bb3540.trailing == _UINavigationBarContentView:0x11e22c320.trailing   (active)>",
    12.    "<NSLayoutConstraint:0x2808e0af0 'UIView-Encapsulated-Layout-Width' _UINavigationBarContentView:0x11e22c320.width == 6   (active)>",
    13.    "<NSLayoutConstraint:0x2808f7b10 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x281277020'UIViewLayoutMarginsGuide'](LTR)   (active, names: '|':_UIActivityContentTitleView:0x116bb3540 )>"
    14. )
    15.  
    16. Will attempt to recover by breaking constraint
    17. <NSLayoutConstraint:0x2808f7700 LPLinkView:0x11e289590.leading == UILayoutGuide:0x281277020'UIViewLayoutMarginsGuide'.leading   (active)>
    18.  
    19. Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
    20. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
    21. 2020-01-19 19:54:42.312911+0100 appname[1627:2741705] [ShareSheet] connection invalidated
    22. 2020-01-19 19:54:46.970196+0100 appname[1627:2741241] [LayoutConstraints] Unable to simultaneously satisfy constraints.
    23.    Probably at least one of the constraints in the following list is one you don't want.
    24.   Try this:
    25.       (1) look at each constraint and try to figure out which you don't expect;
    26.        (2) find the code that added the unwanted constraint or constraints and fix it.
    27. (
    28.    "<NSLayoutConstraint:0x2808d9b30 LPLinkView:0x11dc4fb60.leading == UILayoutGuide:0x28127bb80'UIViewLayoutMarginsGuide'.leading   (active)>",
    29.    "<NSLayoutConstraint:0x2808d9770 H:[LPLinkView:0x11dc4fb60]-(59)-|   (active, names: '|':_UIActivityContentTitleView:0x11dc4f980 )>",
    30.    "<NSLayoutConstraint:0x2808db110 H:|-(0)-[_UIActivityContentTitleView:0x11dc4f980]   (active, names: '|':_UINavigationBarContentView:0x11dc560b0 )>",
    31.    "<NSLayoutConstraint:0x2808db160 _UIActivityContentTitleView:0x11dc4f980.trailing == _UINavigationBarContentView:0x11dc560b0.trailing   (active)>",
    32.    "<NSLayoutConstraint:0x2808dcbe0 'UIView-Encapsulated-Layout-Width' _UINavigationBarContentView:0x11dc560b0.width == 6   (active)>",
    33.    "<NSLayoutConstraint:0x2808d9a40 'UIView-leftMargin-guide-constraint' H:|-(16)-[UILayoutGuide:0x28127bb80'UIViewLayoutMarginsGuide'](LTR)   (active, names: '|':_UIActivityContentTitleView:0x11dc4f980 )>"
    34. )
    35.  
    36. Will attempt to recover by breaking constraint
    37. <NSLayoutConstraint:0x2808d9b30 LPLinkView:0x11dc4fb60.leading == UILayoutGuide:0x28127bb80'UIViewLayoutMarginsGuide'.leading   (active)>
    38.  
    39. Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
    40. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
    41.  
    I also submited the bug
     
  49. Lanre

    Lanre

    Joined:
    Dec 26, 2013
    Posts:
    3,970
    The latest code in the 1.2 branch should fix this. I haven't tested it yet.
     
  50. peterobot

    peterobot

    Joined:
    Jun 9, 2013
    Posts:
    3
    I checked out the 1.2 branch with this changed line:
    shareController.view.translatesAutoresizingMaskIntoConstraints = NO; // DEPLOY // iOS 13​

    But I saw the same issue. On an iPad Pro running iOS 13.2.3, it generates a Layout constraint error and doesn't show the share popup.
    I tried disabling the animation transition by setting animated:NO, but that didn't help either.