![]() |
AW: Ios9
Solange Du Dein xCode aus dem AppStore hast gerne ;-)
|
AW: Ios9
Zitat:
![]() Was mich halt wundert ist, dass die App durch das Review kam, obwohl sie auf meinen alten iPads sofort beim Start abstürzt. |
AW: Ios9
Geht bei mir leider auch nicht. Ich weiß jetzt nicht wie Delphi das Bundle aus 32 und 64 bit erstellt, aber hattest Du bei der 32 Bit-Konfig auch das SDK 8.4 ausgewählt? Ggf. mal das SDK 9 unter 32 bit löschen....
Vielleicht weiß hier ja jemand wie Delphi hier intern arbeitet. |
AW: Ios9
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Und selbst beim Debuggen gibt es nur diesen Crash (siehe Screenshot), der mir nicht weiterhilft, da bis dahin noch keine Zeile von meinem Code ausgeführt wurde.. :( |
AW: Ios9
Unser App-Update wurde heute nach 8 Tagen reviewt und akzeptiert.
Ich habe es mit dem Fix für XE8 und SDK 8.4 gemacht. Das war mir irgendwie sicherer als Delphi 10. |
AW: Ios9
Es gibt nun einen
![]() |
AW: Ios9
Hi,
was das Hotfix angeht. Bei mir funktioniert er. iPad 2 mit iOS 8.4 SDK für iPhoneOS 9.0 Debug Config 32bit und 64bit Gruß Marco |
AW: Ios9
Ich habe das HotFix auf verschiedenen iOS Geräten getestet. Scheint auch grundsätzlich mit El Capitan, XCode 7.0.1 und SDK 9.0 zu laufen. Allerdings bleibt ein iPad mini 2 (9.0.2) mit dem Splash-Screen Fehler bi 64Bit hängen (32Bit läuft). Mit dem SDK 8.4 läuft es. Werde es mal neu aufsetzen, vielleicht liegt es am Gerät (hoffentlich nicht an Retina).
|
AW: Ios9
Der Hotfix scheint bei mir zumindest teilweise für Besserung zu sorgen (siehe
![]() Auf dem iPad 2 (mit iOS9) läuft meine App jetzt immerhin im Debug-Modus. Aber nicht, wenn ich sie als Release kompiliere. :( Das kann also echt nur ein Bug im Compiler bzw. PAServer sein. Und man kann nur hoffen, dass Embarcadero da noch ein Fix oder Update nachliefert. |
AW: Ios9
Zitat:
|
AW: Ios9
Ja, habe ich. Es handelt sich ja nicht um ein neues Projekt, sondern eins, das mit XE8+SDK8.4+iOS8 auf allen Devices lief.
Ich habe sogar ein reines 32Bit-AdHoc Paket erstellt und als Release stürzt es ab und als Debug läuft es. |
AW: Ios9
Ich habe das hotfix getestet und die (sehr merkwürdige) Erfahrung gemacht, dass es auf einem Gerät läuft (iPad mini 1, iOS 9.0.2) und auf einem anderen nicht (iPad mini 2, iOS 9.0.2). Bei meiner App lag es an TImageList. Wenn zwei oder mehr PNG-Bilder enthalten sind, läuft die App auf dem iPad mini 2 nicht mehr (AdHoc und 64Bit). Mit 32 Bit läuft alles bestens.
![]() |
AW: Ios9
Zitat:
Also, bleibt mir vorerst nur übrig TListView durch TListBox zu ersetzen und somit auf TImageList verzichten. Damit läuft die App immerhin auf den 64-Bit Devices, aber weiterhin nicht auf 32-Bit bei mir. :( Das ist schon irgendwie krass, da investiert man sehr viel Geld in eine Entwicklungsumgebung und die hat dann so viele Bugs, dass man damit überhaupt nichts lauffähig bekommt. Da scheint Embarcadero die QS überhaupt nicht im Griff zu haben. |
AW: Ios9
Theoretisch kann man die Bilder auch aus einer "Resource" laden. Habe ich vor TImageList so gemacht. Allerdings gab es Ärger mit dem AppStore, da die Resourcen intern in einem Pfad gespeichert werden, der von Apple nicht vorgesehen/freigegeben ist. Also geht dieser Weg nicht, da sonst die App nicht akzeptiert wird. Alternativ kann man jedes Bild in einem Image speichern und dann in TImageList zusammenführen.
Ich halte das aber alles für Flickwerk. Im Zweifelsfall lieber mit El Capitan, XCode 7.0.1, iOS 9 Gerät und SDK 8.4 arbeiten. Damit scheint ja alles stabil zu laufen und warten bis ein neues Update kommt. |
AW: Ios9
Zitat:
|
AW: Ios9
Hallo zusammen,
ich habe auch Probleme mit iOS9, (MacBook, Win8.1, VmWareFusion) unter Rx10 mit dem aktuelsten HotFix PAServer. Unter Ios32 läuft es, unter iOs64 crasht es schon bei Laden der Form, leider gibt es keine sinnvolle DebugInfo. Die Fehlermeldung ist: Zitat:
Jetzt denke ich doch das es eher von der ImageList kommt, die PNG-Dateien habe ich schon mit IrFanView upgedated, damit war es jedenfalls imer in Ordnung. Wenn vielleicht jemand etwas dieser Richtung gefunden hat wäre ich für einen Tipp sehr dankbar. Im Moment weiss ich nicht was von 32 zu 64-Bit schiefläuft. Rollo |
AW: Ios9
Zitat:
Jetzt läuft die App unter iOS 64bit. Aber es scheint noch eine Komponente zu geben, die bei mir unter 32bit Probleme macht. Das ist echt ätzend. Vor allem läuft die App auch unter Android bei mir nur noch im Debug Mode aber nicht als Release. Ich habe irgendwo gelesen, dass es auch ein Problem mit der Push-Komponente im Zusammenhang mit Parse geben könnte. |
AW: Ios9
Hallo cipher,
also ich geb dem Ding noch eine Chance. Ich habe jetzt alle Images aus der TImageList entfernt, und nochmal neu angelegt. Es könnte sein das ein Bild verschoben/umbenannt worden ist. Das sollte eigentlich kein Problem sein, weil in TImageList *.fmx Datei die Bilder als Binary gespeichert sind, nur ist auch noch zusätzliche ein Link zum Orginalbild vorhanden. Dummerweise mit absoluten Pfaden, so dass ein Verschieben ins Nirwana führt. Trotzdem bin ich nicht sicher ob es daran gelegen hat, weil ja die App auf ALLEN Plattformen korrekt lief, von Win32/64, über Mac, iOS32/Simulator, Android. Nur eben der iOS64 ist gecrasht, das ist schon seltsam. Nach dem kompletten Löschen, Neuanlegen der Bilder hat es dann auch bei IOS64 funktioniert, also definitiv ein TImageList Problem. Aber das möchte ich nicht nochmal bei einem größeren Projekt machen, mit zig Icons ... Was lerne ich daraus: Ich werde in Zukunft direkt auf iOS64 debuggen, statt wie bisher auf iOS32, um vielleicht solche Probleme ehere zu erkennen. Im übrigen hatte ich ähnliche Probleme mit Styles, auch da denke ich das es verwaiste Bilder/Stile sind die das Ganze zum crashen bringen können. Rollo |
AW: Ios9
Nach kleiner Pause habe ich mich jetzt wieder an mein kleines Projekt gesetzt um endlich einmal den Fehler etwas einzugrenzen.
Phänomen bei mir: meine App läuft auf 32-Bit-Geräten nur wenn als "Debug" kompiliert. Auf 64-Bit-Geräten dagegen sowohl als "Release" als auch "Debug". Ich habe mich bei den Compiler-Einstellungen durch die Unterschiede zwischen Release und Debug geklickt und bin schlussendlich zu folgender Einstellung gekommen: Wenn ich für die iOS32-Bit-Debug Version "Mit Debug-DCUs" auf "True" setze (siehe Bild), dann läuft die App auch als "Release" kompiliert. ![]() Hat hier jemand evtl. einen Tipp, warum das so ist oder wie man das noch weiter eingrenzen könnte? |
AW: Ios9
Einen Fehler bzgl. iOSDevice32/Release habe ich schon gemeldet
![]() Du solltest aber irgendeine Fehlermeldung bekommen, bzw. deine App mit ein wenig Logging bestücken damit du sehen kannst wo der Fehler herkommt. |
AW: Ios9
Das Problem ist, dass die App schon abstürzt bevor sie dazu kommt meinen Code auszuführen (also noch beim "booten"):
![]() Ich habe den Fehler jetzt eingrenzen können: Es handelt sich um einen Bug im Zusammenhang mit TPushEvents. Dieses Feature scheint unter Android & iOS32-Bit im Release Mode zum Crash zu führen. ![]() Tolle Wurst, da bleibt mir wohl nichts anderes, als abzuwarten bis Embarcadero einen Fix dafür erstellt. :( |
AW: Ios9
Zitat:
Als Workaround habe ich die System.SysUtils.pas in meinen Projektpfad aufgenommen und folgende Methode:
Code:
so verändert:
function Supports(const Instance: IInterface; const IID: TGUID; out Intf): Boolean; overload;
Code:
Warum das dann funktioniert, weiß ich aber nicht. :-D
function Supports(const Instance: IInterface; IID: TGUID; out Intf): Boolean; overload;
|
AW: Ios9
Ich vermute es liegt dann an dem const der TGUID. IIRC wird ohne const der record zuerst kopiert und dann an die Funktion übergeben. Mit const wird nur eine reference zu dem record auf den stack gepushed. Das heißt du pushed eine reference auf den stack, während dort eigentlich der record direkt erwartet wird. Innerhalb der Funktion wird dann wohl auf invaliden Speicher zugegriffen.
|
AW: Ios9
Zitat:
Code:
Definition der QueryInterface:
function Supports(const Instance: IInterface; IID: TGUID; out Intf): Boolean;
begin Result := (Instance <> nil) and (Instance.QueryInterface(IID, Intf) = 0); end;
Code:
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
|
AW: Ios9
SO war das nicht gemeint, was ich meinte war, dass vllt in der deklaration steht, dass da ein const hingehört, aber aus irgendeinem grund im vorkompilierten Delphisource der implementierungsteil kein const verwendet. Gemeint hatte ich also einen unterschied zwischen Interface und Implementation(wobei bei implementation der tatsächlich kompilierte source interessant wäre).
Das sind aber nur Vermutungen. |
AW: Ios9
Nur zur Info:
Mit dem 10 Seattle Update 1 sind alle Probleme, die ich hatte beseitigt. 👍 Push Messages gehen. Und sogar die Transport Security wird für iOS gesetzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz