0

在我认为是对 Xcode (10.1 - 10B61) 或 iOS API 的更改之后,我的两个应用程序崩溃了。两者都在 Obj-C 模式下使用 Receigen,并且由于某种原因不再识别UIDevice.

未知类型名称“UIDevice”

以下是 Receigen 自动生成的导入: 进口

我错过了 Xcode 或 API 的哪些更改?

4

2 回答 2

0

事实证明,Receigen 改变了一些东西。以前它没有导入UIKit/UIKit.h,但它确实导入了Foundation/Foundation.h

同样在以前,方法声明和变量类型有更多的下划线:

inline static void FastReceiptCheck_CheckInAppPurchases(NSArray *_inapp_identifiers, FastReceiptCheck_InAppValidateBlock _inapp_block, FastReceiptCheck_CallBackBlock _callback_block)

对比

inline static void FastReceiptCheck_CheckInAppPurchases(NSArray *_inapp_identifiers, FastReceiptCheckInAppValidateBlock _inapp_block, FastReceiptCheckCallBackBlock _callback_block)

我最终将它插入到我的构建脚本中,它添加了UIKit导入:

echo '#import <UIKit/UIKit.h>' | cat - "$FILENAME" > temp && mv temp "$FILENAME"

并改变我的方法调用

谢谢您的帮助!

于 2018-12-09T01:26:27.040 回答
0

Receigen 发布了 4.0.4 版本,增加了UIKit/UIKit.h导入。只要确保你记住变量类型的变化。

于 2018-12-11T13:51:01.183 回答