Unity3D iOS导出错误-无匹配函数可调用'objc_msgSendSuper'

Mar*_*rio 2 xcode unity-game-engine ios

我试图将我的Unity3D项目导出到iOS,但我一直收到此错误:

No matching function for call to 'objc_msgSendSuper'

[DIRECTORY]/Classes/UI/UnityViewControllerBase+iOS.mm:166:5: No matching function for call to 'objc_msgSendSuper'

[DIRECTORY]/Classes/UI/UnityViewControllerBase+iOS.mm:180:5: No matching function for call to 'objc_msgSendSuper'

[DIRECTORY]/Classes/UI/UnityViewControllerBase+iOS.mm:210:5: No matching function for call to 'objc_msgSendSuper'
Run Code Online (Sandbox Code Playgroud)

我也得到以下提示:

[DIRECTORY]/Classes/Unity/ObjCRuntime.h:20:43: Expanded from macro 'UNITY_OBJC_FORWARD_TO_SUPER'

[DIRECTORY]/Classes/Unity/ObjCRuntime.h:11:60: Expanded from macro 'UNITY_OBJC_SEND_MSG'

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.4.sdk/usr/include/objc/message.h:65:1: Candidate function not viable: requires 0 arguments, but 4 were provided
Run Code Online (Sandbox Code Playgroud)

XCode标记以下代码行:

UNITY_OBJC_FORWARD_TO_SUPER(self_, [UIViewController class], @selector(willRotateToInterfaceOrientation:duration:), WillRotateToInterfaceOrientationSendFunc, toInterfaceOrientation, duration);
Run Code Online (Sandbox Code Playgroud)

UNITY_OBJC_FORWARD_TO_SUPER(self_, [UIViewController class], @selector(didRotateFromInterfaceOrientation:), DidRotateFromInterfaceOrientationSendFunc, fromInterfaceOrientation);
Run Code Online (Sandbox Code Playgroud)

UNITY_OBJC_FORWARD_TO_SUPER(self_, [UIViewController class], @selector(viewWillTransitionToSize:withTransitionCoordinator:), ViewWillTransitionToSizeSendFunc, size, coordinator);
Run Code Online (Sandbox Code Playgroud)

我已经测试过在模拟iPhone X(iOS 11.4)上构建应用程序。

谁能告诉我该如何解决?

Mac OS:HighSierra 10.13.4 Unity3D(个人):2018.1.1f1 XCode:9.4

Zan*_*ato 6

我在Unity 2018.1.3上遇到相同的问题

关闭“启用objc_msgSendCalls的严格检查”选项(在项目下-> Apple LLVM 9.0预处理)后,设法在模拟器上编译并运行。

我对本机iOS开发了解不多,因此忽略这些错误可能会很可怕。我正在尝试降级到没有这些错误的Unity 2017.3.1。