我正在尝试对具有返回simd_float4x4矩阵(如ARRaycastResult)的属性的ARKit对象使用ocmock,这显然行不通。编译时出现此错误/警告:
encoding of 'typeof (_val)' (aka 'const simd_float4x4') type is incomplete because 'float __attribute__((ext_vector_type(4)))' (vector of 4 'float' values) component has unknown encoding [-Werror,-Wencode-type]
如果添加标志以忽略此标志(“ -Wno-encode-type”),则可以构建,但是随后在尝试模拟这些属性之一以返回simd_float4x4的那一行上出现了段错误: / p>
const simd_float4x4 hit_transform_simd;
ARRaycastResult* raycast_result = OCMClassMock([ARRaycastResult class]);
OCMStub([raycast_result worldTransform]).andReturn(hit_transform_simd); // <- segfault