Приложение iOS libGDX аварийно завершает работу после вызова creat()

Я создал игровое приложение с помощью libGDX, и оно успешно работает на моем рабочем столе, в эмуляторе Android и на моем устройстве Android, однако при попытке запустить его как приложение-симулятор iOS я получаю следующие ошибки:

[ПРЕДУПРЕЖДЕНИЕ] android.System: ресурс был получен в прикрепленной трассировке стека, но никогда не освобождался. См. java.io.Closeable для получения информации о предотвращении утечек ресурсов. [ПРЕДУПРЕЖДЕНИЕ] android.System: java.lang.Throwable: явный метод завершения 'close' не вызывается в dalvik.system.CloseGuard.open(CloseGuard.java) в java.io.RandomAccessFile.(RandomAccessFile.java) в java.io .RandomAccessFile.(RandomAccessFile.java) в java.util.zip.ZipFile.(ZipFile.java) в java.util.zip.ZipFile.(ZipFile.java) в java.lang.PathClassLoader.init(PathClassLoader.java) в java.lang.PathClassLoader.findResource(PathClassLoader.java) в java.lang.ClassLoader.getResource(ClassLoader.java) в java.lang.ClassLoader.getResourceAsStream(ClassLoader.java) в java.lang.Class.getResourceAsStream(Class.java) ) в com.badlogic.gdx.files.FileHandle.read(FileHandle.java) в com.badlogic.gdx.graphics.g2d.TextureAtlas$TextureAtlasData.(TextureAtlas.java) в com.badlogic.gdx.graphics.g2d.TextureAtlas .(TextureAtlas.java) в com.badlogic.gdx.graphics.g2d.TextureAtlas.(TextureAtlas.java) в com.badlogic.gdx.graphics.g2d.Textur eAtlas.(TextureAtlas.java) в com.appsandsmiles.MammiMammiGameHelpers.AssetLoader.load(AssetLoader.java) в com.appsandsmiles.MammiMammi.MammiMammiGame.create(MammiMammiGame.java) в com.badlogic.gdx.backends.iosrobovm.IOSGraphics. draw(IOSGraphics.java) в com.badlogic.gdx.backends.iosrobovm.IOSGraphics$1.draw(IOSGraphics.java) в org.robovm.apple.uikit.UIView.$cb$drawRect$(UIView.java) в org. robovm.apple.uikit.UIApplication.main(собственный метод) в org.robovm.apple.uikit.UIApplication.main(UIApplication.java) в com.appsandsmiles.MammiMammi.IOSLauncher.main(IOSLauncher.java)

и:

com.badlogic.gdx.utils.GdxRuntimeException: Файл не найден: data/spritesheet.atlas (внутренний) в com.badlogic.gdx.files.FileHandle.read(FileHandle.java) в com.badlogic.gdx.graphics.g2d. TextureAtlas$TextureAtlasData.(TextureAtlas.java) по адресу com.badlogic.gdx.graphics.g2d.TextureAtlas.(TextureAtlas.java) по адресу com.badlogic.gdx.graphics.g2d.TextureAtlas.(TextureAtlas.java) по адресу com.badlogic. gdx.graphics.g2d.TextureAtlas.(TextureAtlas.java) в com.appsandsmiles.MammiMammiGameHelpers.AssetLoader.load(AssetLoader.java) в com.appsandsmiles.MammiMammi.MammiMammiGame.create(MammiMammiGame.java) в com.badlogic.gdx. backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java) в com.badlogic.gdx.backends.iosrobovm.IOSGraphics$1.draw(IOSGraphics.java) в org.robovm.apple.uikit.UIView.$cb$drawRect$(UIView .java) в org.robovm.apple.uikit.UIApplication.main(собственный метод) в org.robovm.apple.uikit.UIApplication.main(UIApplication.java) в com.app sandsmiles.MammiMammi.IOSLauncher.main(IOSLauncher.java)

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


person ASM    schedule 05.08.2014    source источник


Ответы (2)


Глядя на второй блок журнала, кажется, что у вас либо нет «data/spritesheet.atlas» в правильном месте, либо ваш проект ios не извлекает ресурсы из папки «Активы» проектов Android.

Если папка «Данные», упомянутая в вашем журнале, относится к папке «Данные» проектов ios, вам, вероятно, следует переместить графику в папку «Данные/Активы» в проекте Android.

person Nine Magics    schedule 06.08.2014
comment
Все мои файлы активов (включая spritesheet.atlas) расположены в Data/Assets в моем проекте Android. - person ASM; 06.08.2014
comment
Покажите некоторый код, когда вы загружаете свои активы, а затем... Вы можете обратиться к неправильному каталогу - person Nine Magics; 06.08.2014
comment
Но как же быть?! приложение отлично работает на Android и на рабочем столе - person ASM; 06.08.2014
comment
Вы вообще что-нибудь делаете в своем классе IOSLauncher? - person Nine Magics; 06.08.2014

Еще раз проверив код, я заметил, что проблема в моем файле robovm.xml.

Проблема была устранена после изменения его с:

../GameName-android/assets/data

to

../GameName-android/assets

person ASM    schedule 06.08.2014