cocos2d-x 3.17.2 utils :: captureScreen провалил утверждение на iOS 13.1.3 на моем iPad mini 5th - PullRequest
0 голосов
/ 03 ноября 2019

Я использую cocos2d-x 3.17.2 и запускаю свое приложение на iPad mini 5th iOS 13.1.3.

Когда я вызываю utils :: captureScreen, это вызывает ошибку подтверждения.

_validateGetBytes: 29: сбой утверждения `Доступ к ЦП для текстур в режиме хранения MTLResourceStorageModePrivate запрещен. '

Похоже, что проблема связана с MTLResourceStorageMode.

Но я могу'не могу узнать, как это исправить.

Я запускаю один и тот же код на iOS 11.4.1 iPod touch 6-й и на iOS 12.4.3 iPad mini 2nd, но эти 2 устройства не вызывают этой проблемы, ониотлично работает.

Вот мой код.

 string path = FileUtils::getInstance()->getWritablePath().append("screenshot.jpg");
 Label *path_lbl = Label::createWithSystemFont(path, "", 20.0);
 const char* filename = path_lbl->getString().c_str();
 utils::captureScreen([&](bool succeed,const std::string &fileName){}, filename);

и утверждение не выполнено в строке: ccUtils.cpp: строка 105

glReadPixels (0, 0, ширина, высота, GL_RGBA, GL_UNSIGNED_BYTE, buffer.get ());

Кто-нибудь знает, как решить эту проблему?

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