Search Unity

Advanced Input Field

Discussion in 'Assets and Asset Store' started by fennecx_development, Jul 29, 2017.

  1. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    Very nice asset! Works so much better than built in Unity! Do know for ios, is there a way for the keyboard to remain visible without partially hiding and re-showing between touches into different input fields?
     
  2. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    Also, the email keyboard begins with uppercase in iOS. Is there a way to make that begin with lowercase?
     
  3. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    The way the plugin handles this at the moment is to hide the keyboard when Unity's Event System reports a deselect and show it when it reports a select of an input field.
    If the user presses a different input field Unity's Event System first reports that deselection and then reports the selection of the next input field. In this process a hide request already got send to the native binding, so you see the keyboard hiding for a small moment.
    In theory if I can find a way to find out if the next selected object is an inputfield before the actual select event gets send I could block the keyboard hide request, but this requires some more research.
    I'll add it my TODO list for now.
     
  4. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    IIRC this is a option in the settings of an iOS device. I ran a quick test on my iPhone and there it starts with a lowercase letter.
     
  5. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    Hmm, disabling that in iOS settings does prevent the auto-capitalizing, but then you lose it on fields like name fields where you actually want it. The built in Unity inputfield seems to do it both ways (capital for names with shift key, lower case for emails), though you obviously get all the other unity input-field deficiencies then.
     
  6. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    For the keyboard hiding issue, we were able to fix it in MobileTextInputHandler.cs's CancelInput() method by just calling Keyboard.BlockKeyboardCancel(); return; anytime the currentSelectedGameObject was not null (in our view we had only input fields and a button that immediately took you off the page and nothing else selectable. We were going to do a typeof check to make sure the current object was an input field, but were not sure how that would play on iOS without JIT compilation.

    If somehow you could expose the capitalization as an option for iOS that would be awesome. Even with autocapitalization on in settings, the Unity built in inputfield capitalizes Name types, but not email types. I am guessing it is something with the text traits on the ios side but I don't think we can see that anywhere presumably because it is in the NativeKeyboard.a.

    Thanks again!
     
  7. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    One last thing... there is a bug where if you type a lot of text on a single line input (approximately twice the width or more of the inputfield size. And then backspace, when you get to the far left all of the sudden the text field turns into a multi-line overflow and the caret position becomes incorrect.
     
  8. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Hmm, for the first issue I'll see if I can find a cleaner solution.

    For the second issue: I think it should be possible to expose something to force autocapitalization (in combination with email CharacterValidation), but this would make it impossible for the user to use an email address that starts with a lowercase character. Not sure if this would be an issue for your app.
    Giving the user the ability to cancel this behaviour (by deleting first character manually and then allowing lowercase) would be more difficult to implement.
     
  9. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    This one is already on my TODO list, although I could reproduce it with different steps.
     
  10. svanderbeck

    svanderbeck

    Joined:
    Oct 23, 2017
    Posts:
    17
    I was thinking not so much through data validation, but if a property could be exposed that controls the keyboard specifically. I'm not exactly sure what happens on the bridge over to iOS, but if that would be possible that would be an awesome feature. So maybe via the custom keyboard type in Unity inspector having a bool for auto-capitalize or not that only effects the keyboard, not any data validation.
     
  11. DJ-Coco

    DJ-Coco

    Joined:
    Apr 27, 2014
    Posts:
    47
    Any update on the Text Mesh Pro support? I need to use emojis in the input fields, but the input fields that come with Text Mesh Pro still use the annoying textbox above the keyboard.
     
  12. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    According to this thread: https://forum.unity.com/threads/textmesh-pro-unity-2018-1.511748/
    a new version of TextMeshPro will be included in Unity 2018.1 (which should be released this month iirc)
    I will use that version to start adding support for TextMeshPro rendering (and emojis) to this plugin.
    No ETA yet when the integration will be done though.
     
  13. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Hi, I am mainly using this plugin so I can get the keyboard height on Android. On a Pixel 2 running latest Android, the height from the OnKeyboardHeightChanged in NativeKeyboardManager is too small but the height on an older Droid Turbo 2 is correct.
     
  14. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Actually, false alarm, I was not taking into account my Canvas's reference resolution, and failed to adjust to that.
     
  15. alexMobileApps50

    alexMobileApps50

    Joined:
    Sep 23, 2017
    Posts:
    21
    Hi, I am an user of your plugin.
    I encountered a critical issue during building iOS version.
    My project is working well on Unity project.
    But when I build iOS version from unity project, the Xcode project is crashed with followed issue.

    2018-04-11 22:12:38.657926+0800 veienfrem[4807:1255301] [DYMTLInitPlatform] platform initialization successful 2018-04-11 22:12:38.734710+0800 veienfrem[4807:1255233] -> registered mono modules 0x937820 -> applicationDidFinishLaunching() 2018-04-11 22:12:39.044275+0800 veienfrem[4807:1255233] Metal GPU Frame Capture Enabled 2018-04-11 22:12:39.045357+0800 veienfrem[4807:1255233] Metal API Validation Disabled -> applicationDidBecomeActive() Renderer: PowerVR SGX 543 Vendor: Imagination Technologies Version: OpenGL ES 2.0 IMGSGX543-129 GLES: 2 GL_OES_depth_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_instanced GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sRGB GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_clip_distance GL_APPLE_color_buffer_packed_float GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_APPLE_texture_packed_float GL_IMG_read_format GL_IMG_texture_comp
    ression_pvrtc OPENGL LOG: Creating OpenGL ES 2.0 graphics device ; Context level <OpenGL ES 2.0> ; Context handle 391588992 Initialize engine version: 2017.4.0f1 (b5bd171ee9ba) WARNING: 0:4: extension 'GL_EXT_frag_depth' is not supported ERROR: 0:38: Use of undeclared identifier 'gl_FragDepthEXT' Note: Creation of internal variant of shader 'Hidden/Internal-MotionVectors' failed. WARNING: Shader Unsupported: 'Hidden/Internal-MotionVectors' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/Internal-MotionVectors' - Setting to default shader. WARNING: Shader Unsupported: 'Hidden/BlitToDepth' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitToDepth' - Setting to default shader. WARNING: Shader Unsupported: 'Hidden/BlitToDepth_MSAA' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitToDepth_MSAA' - Setting to default shader. WARNING: 0:4: extension 'GL_EXT_frag_depth' is not supported ERROR: 0:14: Use of undeclared identifier 'gl_FragDepthEXT' Note: Creation of internal variant of shader 'Hidden/BlitCopyWithDepth' failed. WARNING: Shader Unsupported: 'Hidden/BlitCopyWithDepth' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitCopyWithDepth' - Setting to default shader. Setting up 1 worker threads for Enlighten. Thread -> id: 40513000 -> priority: 1 UnloadTime: 1.130000 ms 2018-04-11 22:12:42.454042+0800 veienfrem[4807:1255233] +[NSString fromUnityString:]: unrecognized selector sent to class 0x3b5ed0ac 2018-04-11 22:12:42.572944+0800 veienfrem[4807:1255233] Uncaught exception: NSInvalidArgumentException: +[NSString fromUnityString:]: unrecognized selector sent to class 0x3b5ed0ac ( 0 CoreFoundation 0x1de0bb55 <redacted> + 152 1 libobjc.A.dylib 0x1d093067 objc_exception_throw + 38 2 CoreFoundation 0x1de10f33 <redacted> + 0 3 CoreFoundation 0x1de0f0c3 <redacted> + 696 4 CoreFoundation 0x1dd37dc8 _CF_forwarding_prep_0 + 24 5 veienfrem 0x008c92cd +[NativeKeyboard initialize:] + 56 6 veienfrem 0x008ccf15 _initialize + 56 7 veienfrem 0x00077583 IOSKeyboard_Setup_m950293151 + 16 8 veienfrem 0x003471e7 _Z31RuntimeInvoker_Void_t1185182177PFvvEPK10MethodInfoPvPS4_ + 10 9 veienfrem 0x008bfd13 _ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException + 118 10 veienfrem 0x005c2313 _Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb + 66 11 veienfrem 0x005c8b6d _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 38 12 veienfrem 0x005c8b0b _ZN19ScriptingInvocation13InvokeCheckedEP21ScriptingExceptionPtr + 44 13 veienfrem 0x005cc701 _ZN13MonoBehaviour18CallMethodInactiveE18ScriptingMethodPtr + 76 14 veienfrem 0x005cdcdf _ZN13MonoBehaviour9CallAwakeEv + 66 15 veienfrem 0x005cded9 _ZN13MonoBehaviour12AddToManagerEv + 110 16 veienfrem 0x0052e513 _ZL27SetupScriptForMonoBehaviourP13MonoBehaviour17ScriptingClassPtrP10MonoScript + 24 17 veienfrem 0x0052e277 _ZL21AddComponentUncheckedR10GameObjectPKN5Unity4TypeE17ScriptingClassPtrP10MonoScriptPN4core12basic_stringIcNS8_20StringStorageDefaultIcEEEE + 382 18 veienfrem 0x0052e387 _Z21AddComponentUncheckedR10GameObjectPKN5Unity4TypeE17ScriptingClassPtrPN4core12basic_stringIcNS6_20StringStorageDefaultIcEEEE + 50 19 veienfrem 0x0052f39f _Z12AddComponentR10GameObjectPKN5Unity4TypeE17ScriptingClassPtrPN4core12basic_stringIcNS6_20StringStorageDefaultIcEEEE + 202 20 veienfrem 0x005a2e53 _Z24MonoAddComponentWithTypeR10GameObject28ScriptingSystemTypeObjectPtr + 226 21 veienfrem 0x006c5463 _Z47GameObject_CUSTOM_Internal_AddComponentWithTypeP12Il2CppObjectS0_ + 22 22 veienfrem 0x00334ceb GameObject_AddComponent_TisRuntimeObject_m3469369570_gshared + 106 23 veienfrem 0x0007cac9 NativeKeyboardManager_get_Instance_m1323680933 + 236 24 veienfrem 0x000730c9 NativeKeyboardManager_get_Keyboard_m265601649 + 8 25 veienfrem 0x00079b89 MobileTextNavigator_get_Keyboard_m2154095972 + 92 26 veienfrem 0x0007afd9 MobileTextNavigator_SetCaretPosition_m1872126535 + 16 27 veienfrem 0x00078e79 MobileTextNavigator_UpdateSelection_m2067451040 + 116 28 veienfrem 0x0007b25f MobileTextNavigator_EndEditMode_m1980765919 + 92 29 veienfrem 0x0007462f AdvancedInputField_InitializeInputField_m989890065 + 408 30 veienfrem 0x00074491 AdvancedInputField_Awake_m3469736216 + 32 31 veienfrem 0x003471e7 _Z31RuntimeInvoker_Void_t1185182177PFvvEPK10MethodInfoPvPS4_ + 10 32 veienfrem 0x008bfd13 _ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException + 118 33 veienfrem 0x005c2313 _Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb + 66 34 veienfrem 0x005c8b6d _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 38 35 veienfrem 0x005c8b0b _ZN19ScriptingInvocation13InvokeCheckedEP21ScriptingExceptionPtr + 44 36 veienfrem 0x005cc701 _ZN13MonoBehaviour18CallMethodInactiveE18ScriptingMethodPtr + 76 37 veienfrem 0x005cdcdf _ZN13MonoBehaviour9CallAwakeEv + 66 38 veienfrem 0x005cded9 _ZN13MonoBehaviour12AddToManagerEv + 110 39 veienfrem 0x005cdc95 _ZN13MonoBehaviour13AwakeFromLoadE17AwakeFromLoadMode + 390 40 veienfrem 0x005f43a9 _ZN18AwakeFromLoadQueue28InvokePersistentManagerAwakeEPNS_4ItemEj17AwakeFromLoadMode + 136 41 veienfrem 0x005f42cd _ZN18AwakeFromLoadQueue30PersistentManagerAwakeFromLoadEi17AwakeFromLoadMode + 92 42 veienfrem 0x005f4269 _ZN18AwakeFromLoadQueue30PersistentManagerAwakeFromLoadEv + 18 43 veienfrem 0x00556edf _ZN18LoadSceneOperation21CompleteAwakeSequenceEv + 70 44 veienfrem 0x00556f1f _ZN18LoadSceneOperation31CompletePreloadManagerLoadSceneEv + 24 45 veienfrem 0x00556aa5 _ZN18LoadSceneOperation25PlayerLoadSceneFromThreadEv + 356 46 veienfrem 0x00556ba1 _ZN18LoadSceneOperation22CompleteLoadFirstSceneEv + 8 47 veienfrem 0x00556869 _ZN18LoadSceneOperation19IntegrateMainThreadEv + 80 48 veienfrem 0x0055771b _ZN14PreloadManager26UpdatePreloadingSingleStepENS_21UpdatePreloadingFlagsEi + 274 49 veienfrem 0x00557ced _ZN14PreloadManager16UpdatePreloadingEv + 276 50 veienfrem 0x00533e0b _Z10PlayerLoopv + 410 51 veienfrem 0x003c7635 _ZL19UnityPlayerLoopImplb + 22 52 veienfrem 0x0005a46f UnityRepaint + 218 53 veienfrem 0x0005a329 -[UnityAppController(Rendering) repaintDisplayLink] + 76 54 GPUToolsCore 0x01aa7e93 -[DYDisplayLinkInterposer forwardDisplayLinkCallback:] + 290 55 QuartzCore 0x20ba49f1 <redacted> + 112 56 QuartzCore 0x20ba4839 <redacted> + 608 57 IOMobileFramebuffer 0x200431bf <redacted> + 88 58 IOKit 0x1e05ca7f IODispatchCalloutFromCFMessage + 236 59 CoreFoundation 0x1ddb4c19 <redacted> + 128 60 CoreFoundation 0x1ddc865f <redacted> + 34 61 CoreFoundation 0x1ddc7ebd <redacted> + 338 62 CoreFoundation 0x1ddc5eab <redacted> + 994 63 CoreFoundation 0x1dd191af CFRunLoopRunSpecific + 470 64 CoreFoundation 0x1dd18fd1 CFRunLoopRunInMode + 104 65 GraphicsServices 0x1f4c3b41 GSEventRunModal + 80 66 UIKit 0x230a1a53 UIApplicationMain + 150 67 veienfrem 0x000517cf main + 206 68 libdyld.dylib 0x1d5064eb <redacted> + 2 ) 2018-04-11 22:12:42.578868+0800 veienfrem[4807:1255233] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSString fromUnityString:]: unrecognized selector sent to class 0x3b5ed0ac' *** First throw call stack: (0x1de0bb3d 0x1d093067 0x1de10f33 0x1de0f0c3 0x1dd37dc8 0x8c92cd 0x8ccf15 0x77583 0x3471e7 0x8bfd13 0x5c2313 0x5c8b6d 0x5c8b0b 0x5cc701 0x5cdcdf 0x5cded9 0x52e513 0x52e277 0x52e387 0x52f39f 0x5a2e53 0x6c5463 0x334ceb 0x7cac9 0x730c9 0x79b89 0x7afd9 0x78e79 0x7b25f 0x7462f 0x74491 0x3471e7 0x8bfd13 0x5c2313 0x5c8b6d 0x5c8b0b 0x5cc701 0x5cdcdf 0x5cded9 0x5cdc95 0x5f43a9 0x5f42cd 0x5f4269 0x556edf 0x556f1f 0x556aa5 0x556ba1 0x556869 0x55771b 0x557ced 0x533e0b 0x3c7635 0x5a46f 0x5a329 0x1aa7e93 0x20ba49f1 0x20ba4839 0x200431bf 0x1e05ca7f 0x1ddb4c19 0x1ddc865f 0x1ddc7ebd 0x1ddc5eab 0x1dd191af 0x1dd18fd1 0x1f4c3b41 0x230a1a53 0x517cf 0x1d5064eb) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

    I have created very simple project that include only one Advanced input field object on Unity.
    And then I built Xcode project from this project.

    I will be grateful if you can help me as soon as possible.

    Thanks
    Best
    Alex
     
  16. alexMobileApps50

    alexMobileApps50

    Joined:
    Sep 23, 2017
    Posts:
    21
    Hi, I am an user of your plugin.
    I encountered a critical issue during building iOS version.
    I have created very simple unity project that contains only Advanced Input Field object.
    when I build Xcode project from this Unity project, the Xcode project is crashed with followed issue.

    2018-04-11 22:12:38.657926+0800 veienfrem[4807:1255301] [DYMTLInitPlatform] platform initialization successful 2018-04-11 22:12:38.734710+0800 veienfrem[4807:1255233] -> registered mono modules 0x937820 -> applicationDidFinishLaunching() 2018-04-11 22:12:39.044275+0800 veienfrem[4807:1255233] Metal GPU Frame Capture Enabled 2018-04-11 22:12:39.045357+0800 veienfrem[4807:1255233] Metal API Validation Disabled -> applicationDidBecomeActive() Renderer: PowerVR SGX 543 Vendor: Imagination Technologies Version: OpenGL ES 2.0 IMGSGX543-129 GLES: 2 GL_OES_depth_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_instanced GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sRGB GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_clip_distance GL_APPLE_color_buffer_packed_float GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_APPLE_texture_packed_float GL_IMG_read_format GL_IMG_texture_comp
    ression_pvrtc OPENGL LOG: Creating OpenGL ES 2.0 graphics device ; Context level <OpenGL ES 2.0> ; Context handle 391588992 Initialize engine version: 2017.4.0f1 (b5bd171ee9ba) WARNING: 0:4: extension 'GL_EXT_frag_depth' is not supported ERROR: 0:38: Use of undeclared identifier 'gl_FragDepthEXT' Note: Creation of internal variant of shader 'Hidden/Internal-MotionVectors' failed. WARNING: Shader Unsupported: 'Hidden/Internal-MotionVectors' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/Internal-MotionVectors' - Setting to default shader. WARNING: Shader Unsupported: 'Hidden/BlitToDepth' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitToDepth' - Setting to default shader. WARNING: Shader Unsupported: 'Hidden/BlitToDepth_MSAA' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitToDepth_MSAA' - Setting to default shader. WARNING: 0:4: extension 'GL_EXT_frag_depth' is not supported ERROR: 0:14: Use of undeclared identifier 'gl_FragDepthEXT' Note: Creation of internal variant of shader 'Hidden/BlitCopyWithDepth' failed. WARNING: Shader Unsupported: 'Hidden/BlitCopyWithDepth' - Pass '' has no vertex shader WARNING: Shader Unsupported: 'Hidden/BlitCopyWithDepth' - Setting to default shader. Setting up 1 worker threads for Enlighten. Thread -> id: 40513000 -> priority: 1 UnloadTime: 1.130000 ms 2018-04-11 22:12:42.454042+0800 veienfrem[4807:1255233] +[NSString fromUnityString:]: unrecognized selector sent to class 0x3b5ed0ac 2018-04-11 22:12:42.572944+0800 veienfrem[4807:1255233] Uncaught exception: NSInvalidArgumentException: +[NSString fromUnityString:]: unrecognized selector sent to class 0x3b5ed0ac ( 0 CoreFoundation 0x1de0bb55 <redacted> + 152 1 libobjc.A.dylib 0x1d093067 objc_exception_throw + 38 2 CoreFoundation 0x1de10f33 <redacted> + 0 3 CoreFoundation 0x1de0f0c3 <redacted> + 696 4 CoreFoundation 0x1dd37dc8 _CF_forwarding_prep_0 + 24 5 veienfrem 0x008c92cd +[NativeKeyboard initialize:] + 56 6 veienfrem 0x008ccf15 _initialize + 56 7 veienfrem 0x00077583 IOSKeyboard_Setup_m950293151 + 16 8 veienfrem 0x003471e7 _Z31RuntimeInvoker_Void_t1185182177PFvvEPK10MethodInfoPvPS4_ + 10 9 veienfrem 0x008bfd13 _ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException + 118 10 veienfrem 0x005c2313 _Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb + 66 11 veienfrem 0x005c8b6d _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 38 12 veienfrem 0x005c8b0b _ZN19ScriptingInvocation13InvokeCheckedEP21ScriptingExceptionPtr + 44 13 veienfrem 0x005cc701 _ZN13MonoBehaviour18CallMethodInactiveE18ScriptingMethodPtr + 76 14 veienfrem 0x005cdcdf _ZN13MonoBehaviour9CallAwakeEv + 66 15 veienfrem 0x005cded9 _ZN13MonoBehaviour12AddToManagerEv + 110 16 veienfrem 0x0052e513 _ZL27SetupScriptForMonoBehaviourP13MonoBehaviour17ScriptingClassPtrP10MonoScript + 24 17 veienfrem 0x0052e277 _ZL21AddComponentUncheckedR10GameObjectPKN5Unity4TypeE17ScriptingClassPtrP10MonoScriptPN4core12basic_stringIcNS8_20StringStorageDefaultIcEEEE + 382 18 veienfrem 0x0052e387 _Z21AddComponentUncheckedR10GameObjectPKN5Unity4TypeE17ScriptingClassPtrPN4core12basic_stringIcNS6_20StringStorageDefaultIcEEEE + 50 19 veienfrem 0x0052f39f _Z12AddComponentR10GameObjectPKN5Unity4TypeE17ScriptingClassPtrPN4core12basic_stringIcNS6_20StringStorageDefaultIcEEEE + 202 20 veienfrem 0x005a2e53 _Z24MonoAddComponentWithTypeR10GameObject28ScriptingSystemTypeObjectPtr + 226 21 veienfrem 0x006c5463 _Z47GameObject_CUSTOM_Internal_AddComponentWithTypeP12Il2CppObjectS0_ + 22 22 veienfrem 0x00334ceb GameObject_AddComponent_TisRuntimeObject_m3469369570_gshared + 106 23 veienfrem 0x0007cac9 NativeKeyboardManager_get_Instance_m1323680933 + 236 24 veienfrem 0x000730c9 NativeKeyboardManager_get_Keyboard_m265601649 + 8 25 veienfrem 0x00079b89 MobileTextNavigator_get_Keyboard_m2154095972 + 92 26 veienfrem 0x0007afd9 MobileTextNavigator_SetCaretPosition_m1872126535 + 16 27 veienfrem 0x00078e79 MobileTextNavigator_UpdateSelection_m2067451040 + 116 28 veienfrem 0x0007b25f MobileTextNavigator_EndEditMode_m1980765919 + 92 29 veienfrem 0x0007462f AdvancedInputField_InitializeInputField_m989890065 + 408 30 veienfrem 0x00074491 AdvancedInputField_Awake_m3469736216 + 32 31 veienfrem 0x003471e7 _Z31RuntimeInvoker_Void_t1185182177PFvvEPK10MethodInfoPvPS4_ + 10 32 veienfrem 0x008bfd13 _ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException + 118 33 veienfrem 0x005c2313 _Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb + 66 34 veienfrem 0x005c8b6d _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 38 35 veienfrem 0x005c8b0b _ZN19ScriptingInvocation13InvokeCheckedEP21ScriptingExceptionPtr + 44 36 veienfrem 0x005cc701 _ZN13MonoBehaviour18CallMethodInactiveE18ScriptingMethodPtr + 76 37 veienfrem 0x005cdcdf _ZN13MonoBehaviour9CallAwakeEv + 66 38 veienfrem 0x005cded9 _ZN13MonoBehaviour12AddToManagerEv + 110 39 veienfrem 0x005cdc95 _ZN13MonoBehaviour13AwakeFromLoadE17AwakeFromLoadMode + 390 40 veienfrem 0x005f43a9 _ZN18AwakeFromLoadQueue28InvokePersistentManagerAwakeEPNS_4ItemEj17AwakeFromLoadMode + 136 41 veienfrem 0x005f42cd _ZN18AwakeFromLoadQueue30PersistentManagerAwakeFromLoadEi17AwakeFromLoadMode + 92 42 veienfrem 0x005f4269 _ZN18AwakeFromLoadQueue30PersistentManagerAwakeFromLoadEv + 18 43 veienfrem 0x00556edf _ZN18LoadSceneOperation21CompleteAwakeSequenceEv + 70 44 veienfrem 0x00556f1f _ZN18LoadSceneOperation31CompletePreloadManagerLoadSceneEv + 24 45 veienfrem 0x00556aa5 _ZN18LoadSceneOperation25PlayerLoadSceneFromThreadEv + 356 46 veienfrem 0x00556ba1 _ZN18LoadSceneOperation22CompleteLoadFirstSceneEv + 8 47 veienfrem 0x00556869 _ZN18LoadSceneOperation19IntegrateMainThreadEv + 80 48 veienfrem 0x0055771b _ZN14PreloadManager26UpdatePreloadingSingleStepENS_21UpdatePreloadingFlagsEi + 274 49 veienfrem 0x00557ced _ZN14PreloadManager16UpdatePreloadingEv + 276 50 veienfrem 0x00533e0b _Z10PlayerLoopv + 410 51 veienfrem 0x003c7635 _ZL19UnityPlayerLoopImplb + 22 52 veienfrem 0x0005a46f UnityRepaint + 218 53 veienfrem 0x0005a329 -[UnityAppController(Rendering) repaintDisplayLink] + 76 54 GPUToolsCore 0x01aa7e93 -[DYDisplayLinkInterposer forwardDisplayLinkCallback:] + 290 55 QuartzCore 0x20ba49f1 <redacted> + 112 56 QuartzCore 0x20ba4839 <redacted> + 608 57 IOMobileFramebuffer 0x200431bf <redacted> + 88 58 IOKit 0x1e05ca7f IODispatchCalloutFromCFMessage + 236 59 CoreFoundation 0x1ddb4c19 <redacted> + 128 60 CoreFoundation 0x1ddc865f <redacted> + 34 61 CoreFoundation 0x1ddc7ebd <redacted> + 338 62 CoreFoundation 0x1ddc5eab <redacted> + 994 63 CoreFoundation 0x1dd191af CFRunLoopRunSpecific + 470 64 CoreFoundation 0x1dd18fd1 CFRunLoopRunInMode + 104 65 GraphicsServices 0x1f4c3b41 GSEventRunModal + 80 66 UIKit 0x230a1a53 UIApplicationMain + 150 67 veienfrem 0x000517cf main + 206 68 libdyld.dylib 0x1d5064eb <redacted> + 2 ) 2018-04-11 22:12:42.578868+0800 veienfrem[4807:1255233] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSString fromUnityString:]: unrecognized selector sent to class 0x3b5ed0ac' *** First throw call stack: (0x1de0bb3d 0x1d093067 0x1de10f33 0x1de0f0c3 0x1dd37dc8 0x8c92cd 0x8ccf15 0x77583 0x3471e7 0x8bfd13 0x5c2313 0x5c8b6d 0x5c8b0b 0x5cc701 0x5cdcdf 0x5cded9 0x52e513 0x52e277 0x52e387 0x52f39f 0x5a2e53 0x6c5463 0x334ceb 0x7cac9 0x730c9 0x79b89 0x7afd9 0x78e79 0x7b25f 0x7462f 0x74491 0x3471e7 0x8bfd13 0x5c2313 0x5c8b6d 0x5c8b0b 0x5cc701 0x5cdcdf 0x5cded9 0x5cdc95 0x5f43a9 0x5f42cd 0x5f4269 0x556edf 0x556f1f 0x556aa5 0x556ba1 0x556869 0x55771b 0x557ced 0x533e0b 0x3c7635 0x5a46f 0x5a329 0x1aa7e93 0x20ba49f1 0x20ba4839 0x200431bf 0x1e05ca7f 0x1ddb4c19 0x1ddc865f 0x1ddc7ebd 0x1ddc5eab 0x1dd191af 0x1dd18fd1 0x1f4c3b41 0x230a1a53 0x517cf 0x1d5064eb) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb) But when I build iOS version from unity project, the Xcode project is crashed with followed issue.

    I will be grateful if you can help me as soon as possible.
    Looking forward to your reply.
    Best
    Alex
     
  17. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    I had to rewrite the iOS binding to use Objective C style notation, because an other user reported compiler errors when building it with other native iOS plugins in the project. Unfortunately this gives issues when building with the default settings Unity builds it's Xcode projects with. (Haven't found a way yet to make it work in both scenarios without modifying the Xcode project)

    To fix it manually add the flag "-ObjC" (in Xcode) to other linker flags when compiling for iOS
     
  18. alexMobileApps50

    alexMobileApps50

    Joined:
    Sep 23, 2017
    Posts:
    21
    Thank you for your reply.
    I solved the issue by your help.
    Thank you very much.
    Best
    Alex
     
  19. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Hi, I am getting some duplicate symbol errors when I build for iOS.

    Code (CSharp):
    1. duplicate symbol _charAt in:
    2.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    3.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    4. duplicate symbol _countOccurences in:
    5.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    6.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    7. duplicate symbol _clamp in:
    8.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    9.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    10. duplicate symbol _NSStringFromUnityString in:
    11.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    12.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    13. duplicate symbol _UnityStringFromNSString in:
    14.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    15.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    16. duplicate symbol _indexOf in:
    17.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    18.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    19. duplicate symbol _lastIndexOf in:
    20.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    21.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    22. duplicate symbol _runOnMainThread in:
    23.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    24.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(TextValidator.o)
    25. duplicate symbol _charAt in:
    26.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    27.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    28. duplicate symbol _countOccurences in:
    29.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    30.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    31. duplicate symbol _clamp in:
    32.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    33.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    34. duplicate symbol _NSStringFromUnityString in:
    35.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    36.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    37. duplicate symbol _UnityStringFromNSString in:
    38.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    39.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    40. duplicate symbol _indexOf in:
    41.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    42.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    43. duplicate symbol _lastIndexOf in:
    44.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    45.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    46. duplicate symbol _runOnMainThread in:
    47.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(UnityCallback.o)
    48.     /Users/brian/Desktop/game/unity_ios/Libraries/Plugins/iOS/NativeKeyboard.a(NativeKeyboard-B8C52FF93BC6AB58.o)
    49. ld: 20 duplicate symbols for architecture arm64
    50. clang: error: linker command failed with exit code 1 (use -v to see invocation)
     
  20. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    This has been fixed in latest version (1.5.2). You do need to manually add the flag "-ObjC" (in Xcode) to other linker flags when compiling for iOS.
    I'm currently looking into a way to add that flag automatically when building in Unity.
     
  21. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Thanks!
     
  22. marcz88

    marcz88

    Joined:
    Mar 12, 2017
    Posts:
    41
    Hello, I just upgraded to the last version released on the April 6th and am no longer getting OnValueChanged(string) events. Went back to check the demo scene, added OnValueChange events to a few fields and there too, no events. Checking to see if I did something on my side, but could you check on your side?
     
  23. marcz88

    marcz88

    Joined:
    Mar 12, 2017
    Posts:
    41
    I see why it's happening but don't understand the purpose of the code change.

    In AdvancedInputField.cs, the Text property has been refactored to have a simple SetText(value) function.

    /// <summary>The main text string</summary>
    public string Text
    {
    get { return text; }
    set { SetText(value); }
    }

    The SetText() function has a default parameter called 'invokeTextChangeEvent' that defaults to false.

    /// <summary>Sets the text of this input field</summary>
    /// <param name="text">The text value</param>
    /// <param name="invokeTextChangeEvent">Indicates whether this
    /// method should invoke \the Text Change event</param>
    public void SetText(string text, bool invokeTextChangeEvent = false)
    {

    Is this intentional? Thx
     
  24. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    The API did change a bit since last version.
    If want to change the text manually:
    InputField.Text = "something" => will not send event
    InputField.SetText("something") => will not send event
    InputField.SetText("something", true) => does send event

    It's true it's not sending the value changed events correctly at the moment.
    I noticed that I forgot to change some of the internal methods that modify text to use SetText("something", true), so I've attached a patch package to fix that.
    Import this package to fix this issue in 1.5.2
     

    Attached Files:

    marcz88 likes this.
  25. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Question: On Android I see a bar above the keyboard with like word suggestions. But on iOS I do not see this. Is there a way to get the word suggestions on iOS as well or is that a current limitation?
     
  26. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    This is a Settings Option on the iOS device itself. (Settings => Keyboard => Predictive on my test device). I can only give a hint to the keyboard on iOS to show it in the plugin. If the user doesn't allow it in the device settings it won't show.
     
  27. marcz88

    marcz88

    Joined:
    Mar 12, 2017
    Posts:
    41
    Just did a quick test and looks great. Thx for the clarification and quick patch! Love this asset.
     
  28. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    I've just submitted version 1.5.4 to the Asset Store. (It usually takes a day for it to get approved and become visible in the Asset Store)
    I included your feature requests for autocapitalization property and to keep keyboard visible when user selects another input field.
    Keep in mind that the autocapitalization property gives a hint to the native keyboard. It won't work with all keyboard types and the user has to have "autocapitalization" enabled in his device settings. This behaviour is defined by iOS itself.

    Changelog 1.5.4:
    • Added post build script to add required flag for iOS (Xcode) build automatically
    • Added “AutocapitalizationType” option to give the native keyboard a hint to use a specific type
    of autocapitalization behavior.
    • Change: TouchscreenKeyboard stays visible now when user has a inputfield selected and selects
    another inputfield
    • Bugfix: Various minor bugs
     
    fidelsoto likes this.
  29. Diorion

    Diorion

    Joined:
    Mar 25, 2017
    Posts:
    8
    Hello, im interested in using your asset.I Noticed that you the content is scrollable , is there an option so i can disable that, if i buy your asset?
    Is there a possibility, if my input field is focused , user can start typing from the start of the inputfield, without selecting the existing text there?
     
    Last edited: Apr 19, 2018
  30. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    1. If by scrollable content you mean the text in the input field, then there isn't a way (in current version) to disable the autoscroll when text exceeds the bounds of the text recttransform or when dragging out of bounds.

    2. There's an option to set the caret automatically to start of text when selecting input field when it's not focused yet.
    Once focused, the user can tap once in the text to change the caret position.
     
  31. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Is there a way to change the size of selection start and end cursor? Depending on the scale of the input field, it seems to get distorted.
     
  32. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Normally the size should be about the average thumb size. It takes the canvas scale into account, but not the scale of individual ui elements.
    You can adjust it globally by modifying "Assets/Plugins/Advanced Input Field/Resources/AdvancedInputField/Settings.asset". See property "Mobile Selection Cursors Scale".
     
  33. Diorion

    Diorion

    Joined:
    Mar 25, 2017
    Posts:
    8
    Sorry for not managing to make you understand ,because of my bad english :p . Im talking about the whole panel ,which includes inputfields ,that "moves" up and down when i focus to an inputfield
     
  34. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Oh, that behaviour is not enabled by default. It's a separate component you can attach to a ScrollRect to make it autoscroll. All the sample scenes have it configured this way, but it's not necessary to have in the scene.

    You can also just register for keyboard height change events and implement something yourself to do something with the content when the keyboard appears (if needed).
     
  35. Diorion

    Diorion

    Joined:
    Mar 25, 2017
    Posts:
    8
    Great!Well done, very helpful asset, thank you for your time
     
  36. marcz88

    marcz88

    Joined:
    Mar 12, 2017
    Posts:
    41
    After upgrading to 1.5.4, I attempted to build my project for an iOS device and it failed to link with errors about missing functions, and a warning about NativeKeyboard.a not built for arm64 (below):

    ld: warning: ignoring file /Users/marczapf/Dev/FamilyGO/FamilyGO/Builds/FamilyGOiOS/Libraries/Plugins/IOS/NativeKeyboard.a, file was built for archive which is not the architecture being linked (arm64): /Users/marczapf/Dev/FamilyGO/FamilyGO/Builds/FamilyGOiOS/Libraries/Plugins/IOS/NativeKeyboard.a

    I compared the size of the previous .a file and it was much larger (1.3MB) than the 1.5.4 version (639KB). Is arm64 supported or am I doing something wrong? Note, the same project linked for iOS before the 1.5.4 update. Thx for your time.
     
    Last edited: Apr 23, 2018
  37. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Yes, I also am getting error building for iOS. I am currently blocked as a result from submitting an update to iOS store. Would you be able to send me an older version of the asset, or a corrected version?

    Code (CSharp):
    1. Undefined symbols for architecture arm64:
    2.   "__hideKeyboard", referenced from:
    3.       _IOSKeyboard__hideKeyboard_m1010684414 in Bulk_Assembly-CSharp-firstpass_0.o
    4.       _IOSKeyboard_HideKeyboard_m627515308 in Bulk_Assembly-CSharp-firstpass_0.o
    5.      (maybe you meant: _IOSKeyboard__hideKeyboard_m1010684414)
    6.   "__enableUpdates", referenced from:
    7.       _IOSKeyboard__enableUpdates_m1209372646 in Bulk_Assembly-CSharp-firstpass_0.o
    8.       _IOSKeyboard_EnableUpdates_m8965290 in Bulk_Assembly-CSharp-firstpass_0.o
    9.      (maybe you meant: _IOSKeyboard__enableUpdates_m1209372646)
    10.   "__initialize", referenced from:
    11.       _IOSKeyboard__initialize_m630343972 in Bulk_Assembly-CSharp-firstpass_0.o
    12.       _IOSKeyboard_Setup_m950293151 in Bulk_Assembly-CSharp-firstpass_0.o
    13.      (maybe you meant: _IOSKeyboard__initialize_m630343972)
    14.   "__showKeyboard", referenced from:
    15.       _IOSKeyboard__showKeyboard_m3240420826 in Bulk_Assembly-CSharp-firstpass_0.o
    16.       _IOSKeyboard_ShowKeyboard_m2612820013 in Bulk_Assembly-CSharp-firstpass_0.o
    17.      (maybe you meant: _IOSKeyboard__showKeyboard_m3240420826)
    18.   "__enableHardwareKeyboardUpdates", referenced from:
    19.       _IOSKeyboard__enableHardwareKeyboardUpdates_m659973732 in Bulk_Assembly-CSharp-firstpass_0.o
    20.       _IOSKeyboard_EnableHardwareKeyboardUpdates_m3797911765 in Bulk_Assembly-CSharp-firstpass_0.o
    21.      (maybe you meant: _IOSKeyboard__enableHardwareKeyboardUpdates_m659973732)
    22.   "__disableUpdates", referenced from:
    23.       _IOSKeyboard__disableUpdates_m1641541974 in Bulk_Assembly-CSharp-firstpass_0.o
    24.       _IOSKeyboard_DisableUpdates_m3925430556 in Bulk_Assembly-CSharp-firstpass_0.o
    25.      (maybe you meant: _IOSKeyboard__disableUpdates_m1641541974)
    26.   "__changeSelection", referenced from:
    27.       _IOSKeyboard__changeSelection_m2609057009 in Bulk_Assembly-CSharp-firstpass_0.o
    28.       _IOSKeyboard_ChangeSelection_m361977660 in Bulk_Assembly-CSharp-firstpass_0.o
    29.      (maybe you meant: _IOSKeyboard__changeSelection_m2609057009)
    30.   "__disableHardwareKeyboardUpdates", referenced from:
    31.       _IOSKeyboard__disableHardwareKeyboardUpdates_m2262600100 in Bulk_Assembly-CSharp-firstpass_0.o
    32.       _IOSKeyboard_DisableHardwareKeyboardUpdates_m3239300363 in Bulk_Assembly-CSharp-firstpass_0.o
    33.      (maybe you meant: _IOSKeyboard__disableHardwareKeyboardUpdates_m2262600100)
    34.   "__changeText", referenced from:
    35.       _IOSKeyboard__changeText_m2833336735 in Bulk_Assembly-CSharp-firstpass_0.o
    36.       _IOSKeyboard_ChangeText_m695221758 in Bulk_Assembly-CSharp-firstpass_0.o
    37.      (maybe you meant: _IOSKeyboard__changeText_m2833336735)
    38. ld: symbol(s) not found for architecture arm64
    39. clang: error: linker command failed with exit code 1 (use -v to see invocation)
    40.  
     
  38. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    I could reproduce the issue using the archive option in Xcode and managed to fix by recompiling the iOS binding with some settings changed. Now it should work with all architectures again.

    Replace the NativeKeyboard.a file in Assets/Plugins/iOS with the one in the attached rar file.
     

    Attached Files:

  39. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Thanks, I will try this. Edit: yep this fixed it!
     
    Last edited: Apr 24, 2018
  40. marcz88

    marcz88

    Joined:
    Mar 12, 2017
    Posts:
    41
    Same here, will let you know results as soon as possible. Thx again.

    Update: I have been able to link successfully and tested on two iOS devices. Input fields appear to work well. Thx a bunch for the quick turn around.
     
    Last edited: Apr 24, 2018
  41. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Alright, will make a small hotfix release with this fix.
     
  42. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Is there a way to call a function when the user presses the submit button on the hardware keyboard?
     
  43. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Not directly, but you can register an event listener to the OnEndEdit(string result, EndEditReason reason) event of an AdvancedInputField instance and check the value of "reason" variable.
    Something like this:
    Code (CSharp):
    1. public void OnInputEnd(string result, EndEditReason reason)
    2. {
    3.     if(reason == EndEditReason.KEYBOARD_DONE)
    4.     {
    5.         //User pressed the done key
    6.     }
    7. }
    On hardware keyboards the done key is the Enter key
    On touchscreenkeyboards the done key is the done/next key. (If the "Next Input Field" property on the AdvancedInputField instance is specified it will return "EndEditReason.KEYBOARD_NEXT" instead)
     
  44. Airship

    Airship

    Joined:
    Sep 10, 2011
    Posts:
    260
    Awesome, thank you so much!
     
  45. m_prishchepa_pa

    m_prishchepa_pa

    Joined:
    May 23, 2017
    Posts:
    2
    Hello, do yo u have some info about integrating emoji ?
    Right now I try to find out some solution to use standard emoticons, find your's plugin, looks like very big job already is done, but I didn't find any info about successfully integration emoji....
     
  46. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Emoji's aren't currently supported in the plugin, but I'm working on a TextMeshPro binding (using the TextMeshPro package included in Unity 2018). TextMeshPro does support rendering emojis, so I'm trying to get those working too with this plugin. No eta yet when this functionality will be fully working, but it's planned for the next release of this plugin.
     
  47. m_prishchepa_pa

    m_prishchepa_pa

    Joined:
    May 23, 2017
    Posts:
    2
    Thanks a lot for information, maybe you have some roadmap with release date? Maybe if this functionality will be implemented soon, then I finish my research and just wait for release...
     
  48. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    I'm aiming for a release somewhere this month. Probably at the end of this month, but might be sooner if everything goes well and I don't find big issues when testing emojis.
     
  49. Diorion

    Diorion

    Joined:
    Mar 25, 2017
    Posts:
    8
    Hello, i've purchased your asset, i imported it into my project and then used the Menu option: Advanced Input Field =>Create Input Field.It works perfect on unity editor, but on android or iOS if i "click" to the Advanced Input Field ,doesn't do anything, even the mobile keyboard isnt visible. Those input field are pre filled when the scene start,i can see the pre filled text on editor but on android/iOS ,i cant.Your demo scene works good on android or iOS though.

    I tried a work around, i added a button so i can select the inputfield i want , using the onClick() function, but this didnt work either.Do you have any ideas on whats wrong?
     
  50. fennecx_development

    fennecx_development

    Joined:
    Sep 24, 2014
    Posts:
    427
    Some things I can think that might happen:
    1. Are you accessing or changing a property (for example .Text) in Awake()? It might be that the AdvancedInputField instance is not initialized yet (depending of the execution order in Unity).
    2. Are there perhaps some errors in the log when running on Android? That might give me a better indication what the problem is.
    3. If it's not too much trouble, could you send me a small project that reproduces the issue?