I have reduced the problem to iOS input fields. Some testing shows that:

* The native fields exist
* Their rect is correct
* If I script their text data, it is there and can be retrieved

But they are inactive, can't be tapped, don't show any text even if its entry is scripted, can't be typed into, can't be focused. They act like they are invisible.

Here is what I do to create them. This is a generic handler that creates all input fields throughout the app, and it works fine on Android. Usually I call it like this: createInputFld "email". The other params are used only occasionally.

command createInputFld pName,pReturnKey,pMultiline -- native single-line input
  -- pName = any valid fld identifier (long name, ID, etc)
  -- pReturnKey = return key type, usually "search"
  -- pMultiline = boolean, whether to create a multi-line input
  put (the rect of control pName) into tRect
  subtract 10 from item 2 of tRect -- adjust for mobile
  add 10 to item 4 of tRect -- may not need for iOS
  if pMultiLine = true then
    mobileControlCreate "multiline", pName
  else
    mobileControlCreate "input", pName
  end if
  mobileControlSet pName, "rect", tRect
  mobileControlSet pName, "autoCapitalizationType", "none"
  mobileControlSet pName, "autoCorrectionType", "no"
  mobileControlSet pName, "enabled", true
  mobileControlSet pName, "editable", true -- multiline only (?)
  mobileControlSet pName, "alpha", 0 -- transparent
mobileControlSet pName, "textalign", the effective textalign of control pName mobileControlSet pName, "textColor", the effective textcolor of control pName if pReturnKey <> "" then mobileControlSet pName, "returnKeyType", pReturnKey -- usually "search"
  mobileControlSet pName, "visible", true
  if the platform contains "iPhone" then
    mobileControlSet pName, "borderStyle", "none"
    mobileControlSet pName, "clearButtonMode", "always"
  end if
end createInputFld

The fields on the first card are plain input fields, but I have a question about multiline fields. The docs are a bit confusing. I pass the parameter to Android and it does what I want. But I'm not clear whether that works on iOS. The docs say that multiline fields are applicable to both platforms, but mobileControlCreate info says it is Android only. There is also a separate iOS command to create a multiline field. How does all this work?

Multiline isn't applicable to the immediate issue, where I can't get past the first two plain input fields.

On 11/25/19 5:09 PM, J. Landman Gay via use-livecode wrote:
Thanks Panos. Resetting didn't work, so now I'm wondering if it is something about my LC native fields. The first thing the user needs to do is log in, and I can't test beyond that until I can enter credentials. There are two native fields, both are transparent. Would transparency in iOS matter? They work on Android.

I forgot to mention that the only OS available in XCode 10.1 is iOS 12.1 but I assume that's okay.

On 11/25/19 4:11 PM, panagiotis merakos via use-livecode wrote:
Hello Jacque,

So the iOS standalone is installed to the iOS simulator, but the simulator
does not respond to clicks / keyboard entry?

I am on Mojave as well, but have not seen that happening.

Maybe it is worth resetting the simulator state:
Quit any instances of Xcode and iOS simulator, and execute this in the
terminal:

sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService

Then:
- Open the Simulator from Xcode (Launch Xcode 10.1, go to Xcode's menubar
and choose
Xcode -> Open Developer Tool -> Simulator)
- Wait until the simulator fully loads, until it shows the device's Home
screen
If you change device by clicking on the Simulator's app menubar
(Hardware -> Device -> iOS 12.1 -> <device_name> ) - again, wait until the
new simulator device fully loads, until it shows the device's Home screen
- Now go back to LiveCode and test again

Fingers crossed :)

Panos
--

On Mon, 25 Nov 2019 at 21:43, J. Landman Gay via use-livecode <
[email protected]> wrote:

When I run a test on the iOS simulator, it will not respond to either
clicks/taps or keyboard entry. Basically, it's inert. I've tried several
different hardware devices, all with the same results.

A Google search seems to show that this is a bug in the simulator when
running under Mojave, and works again if run in Catalina. I can't update
to Catalina yet because several apps I rely on will not run there.

I'm using LC 9.5.1 (rc1), XCode 10.1, on Mojave. Has anyone seen this,
and if so, have a workaround?

--
Jacqueline Landman Gay         |     [email protected]
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode





--
Jacqueline Landman Gay         |     [email protected]
HyperActive Software           |     http://www.hyperactivesw.com


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to