Search Issue Tracker
By Design
Votes
2
Found in
5.4.0f3
Issue ID
833586
Regression
No
[iOS] An extra 'null' parameter is passed after a long type integer is used in a native method on 32-bit iOS devices
When using native iOS code, if a method uses a 'long' type parameter, an extra 'null' is passed with it. In this case, the 'null' parameter is read as an argument by other methods, corrupting the output.
Steps to reproduce:
1) Open the latest attached project (32-bit_833586.zip).
2) Build for iOS.
3) Run on a device via Xcode.
In Xcode's console, these lines get printed on 32-bit devices:
UnityNativeMethod : Native_SendInt : 60, A String
UnityNativeMethod : Native_SendLong : 60, (null), A String
However, the output on 64-bit devices is different:
UnityNativeMethod : Native_SendInt : 60, A String
UnityNativeMethod : Native_SendLong : 60, A String, Another string
This happens because a 'null' is passed with the 'long' int and is interpreted as a variable.
Reproduced on:
5.5.0b4, 5.4.1p2, 5.3.6p6, 5.2.4f1
Devices tested:
iPhone 5 iOS 9.3.5 (32-bit)
iPhone 9 Plus iOS 10.0.1 (64-bit)
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Articulation Body with 'Revolute' Joint Type has erratic behavior when Upper Limit is set to above 360
- WebGL Player fails to render Scene when Terrain with Detail Mesh is added and WebGPU Graphics API is used
- Inconsistent errors are logged when different types are passed into the Query "Q<>" method in UIToolkit and the ancestor VisualElement is null
- Crash on GetMaterialPropertyByIndex when opening a specific Scene
- Discrepancies in the styling are present when using a TSS file instead of a USS file in custom EditorWindow
Add comment