2016-07-26 34 views
4

Ich versuche, SVG-Karten mit Code zu zeichnen, der durch Paintcode generiert wurde. Der Code funktioniert einwandfrei, wenn ich ihn mit dem Simulator verwende. Aber wenn ich es in Gerät (iPad) ausführen, stürzt es in drawCanvas mehod geben Warnung: Konnte keine Objective-C-Klasseninformationen laden. Dies wird die Qualität der verfügbaren Typinformationen erheblich reduzieren.Warnung: Konnte keine Objective-C-Klasseninformationen mit dem Code von PaintCode laden

Click here to check the warning

I Karte in Storyboard ziehe, wo es im Hinblick auf eine Scrollview ist und innerhalb dieser ein Bild anzeigen. Ich habe ein StyleKitClass-Objekt hinzugefügt (StyleKitClass ist eine NSObject-Klasse, die mit der PaintCode-Anwendung generiert wurde), mit der ich IBOutletCollections mit imageView verbunden habe.

Click here to view Outlet Connections

Wenn jemand weiß, dann bitte mich mit der Lösung helfen.

+1

Diese Warnung ist nicht die Ursache für Absturz ist. Es ist nur eine Nachricht vom Debugger. Könnten Sie versuchen, Address Sanitizer zu aktivieren und den Code erneut ausführen? – Tricertops

+0

Ich habe Address Sanitizer aktiviert. Aber es druckt nichts in der Konsole. Wenn ich den Speicherverlauf mit der Speicheradresse drucke, gibt er auch keinen Wert aus. – PriyaJain

+0

Aber ich fand eine Sache zum Zeitpunkt der Warnung in + (void) drawCanvas1 und das heißt, in der Variablenansicht ist die Adresse für styleKit Klasse ** self = (Klasse) 0x0 **. Es scheint, dass das StyleKit freigegeben ist. – PriyaJain

Antwort

6

Ich arbeite bei PixelCut, wir machen PaintCode.

Nachdem Sie uns das Projekt geschickt haben, konnte ich dieses Problem bestätigen, indem ich auf dem iPhone 5s lief. Leider drücken Sie PaintCode, Xcode und iOS an ihre funktionalen Grenzen, indem Sie versuchen, Zeichenmethode mit 53 tausend Zeilen Code zu verwenden. Diese einzelne Methode benötigt 9 MB in der Binärdatei (nur arm64, -Onone) und verwendet fast 1000 Variablen des Zeigertyps. Meine beste Vermutung ist, dass die App einige Grenzen der Stapelspeichergröße erreicht und vom System beendet wird.

Wir haben StyleKits mit mehr als 10 tausend Zeilen gesehen, aber keiner von ihnen hatte eine einzelne Methode so groß. Ich würde empfehlen, Ihre Zeichnung in mehrere Leinwände aufzuteilen und sie mit Symbolen zu erstellen, aber ich befürchte, dass die Arbeit mit solch einer riesigen Zeichnung schmerzhaft langsam sein kann.

+0

Gibt es einen anderen Weg als PaintCode zu verwenden, da ich keinen anderen Weg finde. Mein Projekt hat mehr als 50 Karten wie diese. Momentan speichere ich sie als JPG-Datei. Beim Zoomen wird das Bild jedoch verpixelt. Ich habe versucht, Svg Image dafür zu verwenden. Dann fand ich PaintCode hilfreich. – PriyaJain

+0

Gibt es noch etwas, das wir mit dem Bild tun können, da die Aufteilung dieser vielen Karten nicht möglich ist. – PriyaJain

+0

Gibt es eine Möglichkeit, das Bild mit PaintCode zu teilen? – PriyaJain

0

Dies ist mir vor kurzem passiert, wurde durch einen falsch eingegebenen Dateinamen auf Code von ViewController.swift verursacht.