У меня есть статическая библиотека, которую я уже несколько месяцев интегрирую в свои проекты Unity-iOS. Все работает нормально для Unity 4.3.x.
С недавним выпуском Unity 4.6.3, который обеспечивает сборку для 64-битных устройств с использованием бэкенда сценариев IL2CPP и универсальной архитектуры, моя статическая библиотека больше не работает. У меня есть очень простой образец приложения с Unity, использующий только статическую библиотеку, и он падает во время выполнения.
SDKTestApp(11555,0x199dff310) malloc: *** error for object 0x174287f2f: Invalid pointer dequeued from free list
*** set a breakpoint in malloc_error_break to debug
Обратите внимание, что проект прекрасно компилируется, но вскоре после загрузки приложения и выполнения некоторых функций статической библиотеки происходит сбой. И это проблематично только с теми устройствами, которые только 64-битные (iPhone 6, iPad Air и т. д.).
Наконец, вот вывод, когда я запускаю lipo -info myStaticLibrary.a
в файле (.a):
myStaticLibrary.a: Mach-O universal binary with 3 architectures
myStaticLibrary.a (for architecture arm64): current ar archive random library
myStaticLibrary.a (for architecture armv7s): current ar archive random library
myStaticLibrary.a (for architecture armv7): current ar archive random library
Любые идеи?