Search Unity

  1. We've closed the job boards. If you're looking for work, or looking to hire check out Unity Connect. You can see more information here.
    Dismiss Notice
  2. We're running great holiday deals on subscriptions, swag and Asset Store packages! Take a peek at this blog for more information!
    Dismiss Notice
  3. Check out our Unite Austin 2017 YouTube playlist to catch up on what you missed. More videos coming soon.
    Dismiss Notice
  4. Unity 2017.2 is now released.
    Dismiss Notice
  5. The Unity Gear Store is here to help you look great at your next meetup, user group or conference. With all new Unity apparel, stickers and more!
    Dismiss Notice
  6. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice
  8. Unity 2017.3 beta is now available for download.
    Dismiss Notice

IOS/Xcode error when using System.net.mail

Discussion in 'iOS and tvOS' started by Axcell_Hunt, Jun 20, 2015.

  1. Axcell_Hunt

    Axcell_Hunt

    Joined:
    Jun 23, 2014
    Posts:
    5
    Hey all, I've stumbled upon an issue with sending smtp mail via my apps. The Android and desktop versions work fine however IOS does not. It also doesn't crash, it simply does nothing. So I debugged it in Xcode and found it outputting the following error report. I have no idea why this is and what it means.
    Has anyone else encountered anything like this and know what may be causing it? Any help/ advice would be a huge help as I really don't know what to do next. I can provide more information if required. Thanks in advance

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 65)



    MissingMethodException: Method not found: 'Default constructor not found...ctor() of System.Net.Configuration.MailSettingsSectionGroup'.

    at Mono.Security.Uri.HexEscape (Char character) [0x00000] in <filename unknown>:0

    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0

    at System.Configuration.ConfigInfo.CreateInstance () [0x00000] in <filename unknown>:0

    at iTween.easeInOutElastic (Single start, Single end, Single value) [0x00000] in <filename unknown>:0

    at System.Configuration.Configuration.GetSectionGroupInstance (System.Configuration.SectionGroupInfo group) [0x00000] in <filename unknown>:0

    at System.Configuration.ConfigurationSectionGroupCollection.get_Item (System.String name) [0x00000] in <filename unknown>:0

    at System.Configuration.Configuration.GetSection (System.String path) [0x00000] in <filename unknown>:0

    at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0

    at System.MonoInternalNoteAttribute..ctor (System.String comment) [0x00000] in <filename unknown>:0

    at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0

    at System.Net.Mail.SmtpClient..ctor (System.String host, Int32 port) [0x00000] in <filename unknown>:0

    at System.Net.Mail.SmtpClient..ctor (System.String host) [0x00000] in <filename unknown>:0

    at mono_gmail.SendCableDesignMail (System.String email, System.String cableLength, System.String colorCode) [0x00000] in <filename unknown>:0

    at PostSubmissionData+<TrySubmitCableDelayed>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0

    at System.Collections.Generic.Dictionary`2+Transform`1[System.Int32,UnityEngine.EventSystems.PointerEventData,System.Collections.Generic.KeyValuePair`2[System.Int32,UnityEngine.EventSystems.PointerEventData]].EndInvoke (IAsyncResult result) [0x00000] in <filename unknown>:0

    System.Collections.Generic.Transform`1:EndInvoke(IAsyncResult)


    (Filename: currently not available on il2cpp Line: -1)
     
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    2,756
    @Axcell_Hunt

    My suspicion is that the constructor for the System.Net.Configuration.MailSettingsSectionGroup is being stripped out, since it is accessed via reflection. With the IL2CPP scripting backend, stripping is always enabled, so this might happen.

    You can attempt to require this type to not be stripped by using a link.xml file, as described here:

    http://docs.unity3d.com/Manual/iphone-playerSizeOptimization.html
     
  3. danieltranca

    danieltranca

    Joined:
    Jan 9, 2015
    Posts:
    10
    I get the same error when trying to send an email from iOS(works great on Android and Unity Editor).

    I tried Josh's solution but it's not working. Have you solved this problems somehow? Thanks!
     
  4. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    2,756
    @danieltranca

    You might be experiencing this bug:

    http://issuetracker.unity3d.com/issues/il2cpp-crashes-when-using-smtpclient

    Note that we do have a more complex work around than I one I suggested earlier on this thread. You can use this link.xml file:

    <linker>
    <assembly fullname="System">
    <type fullname="System.Net.Configuration.MailSettingsSectionGroup" preserve="all"/>
    <type fullname="System.Net.Configuration.SmtpSection" preserve="all"/>
    <type fullname="System.Net.Configuration.SmtpNetworkElement" preserve="all"/>
    </assembly>
    </linker>

    Once we correct this issue, you won't need this link.xml file, but we've not been able to complete the fix yet.
     
    coeing likes this.