Wrong ObjC type encoding for BOOL-NSNumbers on arm64
| Originator: | nicolas.bouilleaud | ||
| Number: | rdar://15731959 | Date Originated: | 2013-12-30 |
| Status: | Open | Resolved: | |
| Product: | iOS SDK | Product Version: | 7.1b2 |
| Classification: | Serious Bug | Reproducible: | Always |
Summary: On iOS - arm64, the following code: ```` [@YES objCType] ```` returns `"c"`, as it does on arm32. However, `BOOL` is now typedef'd as `bool` (the C++ bool), and the signature of methods returning a `BOOL` is now `"B"`. For consistency, [NSNUmber objCType] for BOOL-based NSNumbers should now return "B". This is especially an issue when using NSInvocations. See for example this workaround in OCMock : https://github.com/erikdoe/ocmock/commit/77400c22b5bafd8aaaa75f90a1d997838204577a
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!