К сожалению, кажется, нет никакого способа отладить это, так как это проблема с упаковочным кодом, который окружает мой код. (
В итоге мне пришлось нелегко отследить это путем «бинарного поиска» моего кода, то есть закомментировать половину его, собрать, посмотреть, не сработает ли он, если не закомментировать другую половину и т. Д.
Это заняло некоторое время, но я сузил его до одной строки кода. Этот код никогда не запускается - только наличие этой строки приводит к сбою приложения iOS при запуске. Вот оно сводится к своей сути:
public class Foo extends EventDispatcher {
public override function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void {
var thisFunc:Function= arguments.callee;
super.addEventListener(type, listener, useCapture, priority, useWeakReference);
}
}
Почему-то arguments.callee
является причиной проблемы. В противном случае это действительный код AS3, поэтому он должен быть ошибкой. Я подал проблему с Adobe здесь .