Ошибка экспорта Unity3D iOS - Нет подходящей функции для вызова objc_msgSendSuper - PullRequest
0 голосов
/ 07 июня 2018

Я пытался экспортировать свой проект 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'

Я также получаю следующие подсказки:

[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

XCode отмечает следующие строкис кодом:

UNITY_OBJC_FORWARD_TO_SUPER(self_, [UIViewController class], @selector(willRotateToInterfaceOrientation:duration:), WillRotateToInterfaceOrientationSendFunc, toInterfaceOrientation, duration);

и

UNITY_OBJC_FORWARD_TO_SUPER(self_, [UIViewController class], @selector(didRotateFromInterfaceOrientation:), DidRotateFromInterfaceOrientationSendFunc, fromInterfaceOrientation);

и

UNITY_OBJC_FORWARD_TO_SUPER(self_, [UIViewController class], @selector(viewWillTransitionToSize:withTransitionCoordinator:), ViewWillTransitionToSizeSendFunc, size, coordinator);

Я протестировал создание приложения на имитированном iPhone X (iOS 11.4).

Может кто-нибудь сказать мне, как это исправить?

MacOS: HighSierra 10.13.4 Unity3D (Personal): 2018.1.1f1 XCode: 9.4

1 Ответ

0 голосов
/ 08 июня 2018

У меня такая же проблема на Unity 2018.1.3

Управляется для компиляции и запуска на симуляторе после отключения опции «Включить строгую проверку objc_msgSendCalls» (В проекте -> Предварительная обработка Apple LLVM 9.0).

Я не знаю много о нативной разработке iOS, поэтому может быть ужасно просто игнорировать такие ошибки.Я пытаюсь перейти на Unity 2017.3.1, где у меня не было этих ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...