在我认为是对 Xcode (10.1 - 10B61) 或 iOS API 的更改之后,我的两个应用程序崩溃了。两者都在 Obj-C 模式下使用 Receigen,并且由于某种原因不再识别UIDevice
.
我错过了 Xcode 或 API 的哪些更改?
事实证明,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"
并改变我的方法调用
谢谢您的帮助!
Receigen 发布了 4.0.4 版本,增加了UIKit/UIKit.h
导入。只要确保你记住变量类型的变化。