使用Xcode9.1中的OCMock对[CLLocationManager authorizationStatus]进行存根时发生ARC错误

时间:2017-12-27 10:59:58

标签: objective-c ocmock xcode9.1

我正在使用OCMock来存储[CLLocationManager authorizationStatus]单元测试用例。似乎 Xcode9.1 与方法名称混淆,因为其他类中存在相同的方法,如CMPedometer& CMAltimeter。尽管如此,它并没有依赖于 Xcode8.3 Click Here to see the Screenshot for Error

1 个答案:

答案 0 :(得分:0)

编写模拟以便它们可以与任何类一起使用,并且因为Objective-C没有泛型,所以它们不能为特定类声明正确的返回类型。相反,他们总是使用id

在您的情况下,如下添加演员应解决问题。

[(CLLocationManager)[[self.mockedApplication stub] andReturnValue: ... ] 
    authorizationStatus];

PS:将来,请将完整的代码也作为文字发布,而不仅仅是截图。