AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Hat Jemand schonmal mit TestFairy herumgespielt ?
Thema durchsuchen
Ansicht
Themen-Optionen

Hat Jemand schonmal mit TestFairy herumgespielt ?

Ein Thema von Rollo62 · begonnen am 11. Mai 2016 · letzter Beitrag vom 13. Mai 2016
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 12. Mai 2016, 09:57
Versuch es mal bitte damit
Delphi-Quellcode:
type
  // non-static (instance) methods of "TfLibrary"
  IS4TfLibrary = interface(NSObject)
    ['{5875CABD-AEBA-4A91-A03F-C3DA9BFE24AD}']

    // Interface relates to name and signature in Library
    procedure &begin( appToken : NSString ); cdecl;

  end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 12. Mai 2016, 10:05
Mal eine ganz dumme Frage, warum willst Du das SDK von TestFairy mit in die App packen ? Du kannst Apps auch ganz normal als AdHoc bei TestFairy hochladen und dann Testern zuweisen. Nur leider musst Du den Device Identifier bei Dir im Entwickler-Account registrieren. Dann klappt das ganze auch ohne TestFairy SDK.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#3

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 12. Mai 2016, 10:26
@Sir Rufo

Vielen Dank, das wars

Ich Idiot habe es mit @begin probiert und bin auf die Schnelle nicht drauf gekommen ...

@RWarneke

TestFairy kann die Apps verteilen ohne das man was macht, das ist richtig.

Aber interesant wird es wenn die Screenshots mitgeliefert werden, und interne Memory und Logdaten uafgezeichnet werden.
Schau dir mal die Videos auf deren Seite an.

iOS:
Dafür muss ich wohl unter IOS diese Library und noch andere Apple.Libraries einbinden.

Android:
Unter Android habe ich die VideoScreenshots auch noch nicht am Laufen, es wird nur das Startbild
mit den simulierten TouchClicks im Video gezeigt.
Dafür werden aber schon CPU, Memory etc. als Chart aufgezeichnet.

Das sollte unter Android komplett ohne SDK funktionieren, da hast du Recht, ich vermute mal das es nicht geht
liegt daran das FMX das OS als Vectordarstellung simuliert, und nicht quasi nativ läuft.
Schade, muss ich nochmal drüber nachdenken, aber zumindest sind andere Daten mitgeloggt.


Eine ganz andere Frage zu Testfairy hätte ich, weil das ja wohl nur mit abgewandeltem Package funktionieren kann,
was dann zu denen nach Hause loggt.
Wie können die in mein APK etwas reinbauen, ohne meine Signierung ?

Bei IPA geht es wohl nicht so einfach, deswegen vermute ich mal brauchen die das SDK.

Zum Testen ist mir das noch Recht, aber für die Produktionversion muss man überlegen ob TestFairy einem da keinen Virus oder ScreenLogger mit reinbaut.
Für meine App ist das im Moment egal, aber ich würde bei sensiblen Daten vorsichtig sein.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 12. Mai 2016, 12:20
@RWarneke

TestFairy kann die Apps verteilen ohne das man was macht, das ist richtig.

Aber interesant wird es wenn die Screenshots mitgeliefert werden, und interne Memory und Logdaten uafgezeichnet werden.
Schau dir mal die Videos auf deren Seite an.
Hat da jemand Erfahrung mit, was mit einer App beim Review passiert, wenn das SDK von TestFairy noch eingebunden ist ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#5

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 12. Mai 2016, 21:37
Ich bin schon ein bischen weiter damit unter iOS:

- Neues TestProjekt angelegt, auch komplett in Apple iOS und iTunes (ist vielleicht unnötig)
- Provisioning files sind angelegt, AdHoc and Distribution certificates sind da
AdHoc schein das zu sein was TestFairy-Distribution braucht
- AppStore entry ist vorbereitet, aber nicht veröffentlicht zur Prüfung
- SDK static lib ist eingebunden
- Dazu muss FMX.Platform.iOS eingebunden und gefixt werden (siehe Beispeil)
- die Library files *.a und *.h vom SDK habe ich im Beispiel s.u. nicht mit reingelegt, wegen möglicher
Lizenzprobleme (kann man von hier bekommen)
- die Library files habe ich mit ins Src Verzeichnis des Projektes gelegt (soll da statisch gelinkt werden)
- Ein call begin("appToken"); wird direkt nach dirFinishLaunchingWithOptions aufgerufen,
mit dem AppToken von TestFairy.
- Build mit Arm7 64/32 byte dual boot code, mit richtigem Provisioning, etc.
- Debug läuft OHNE TestFairy SDK
- Release und Upload läuft MIT/OHNE TestFairy SDK
- Distribution zum Handy läuft MIT/OHNE SDK
- Installation geht nur mit AdHoc Zertifikat
- Installation geht nur auf den mit AdHoc verbundenen Devices, also maximal 100
- Programm startet MIT SDK, und crasht dann siehe Bilder unten
- Der Upload TestFairy geht, aber meldet "SDK not integrated"
- Crash passiert direkt beim Zugriff auf die statische Library
Delphi-Quellcode:
class procedure TApplicationDelegate.applicationDidFailToRegisterForRemoteNotificationsWithError(self: id; _cmd: SEL;
  application: PUIApplication; error: PNSError);
var
  Message: TPushFailToRegisterMessage;
  ErrorDescription: string;
begin
  ErrorDescription := NSStrToStr(TNSError.Wrap(error).localizedDescription);
  Message := TPushFailToRegisterMessage.Create(TPushFailToRegisterData.Create(ErrorDescription));
  TMessageManager.DefaultManager.SendMessage(nil, Message);
end;

class function TApplicationDelegate.applicationDidFinishLaunchingWithOptions(self: id; _cmd: SEL; application: PUIApplication; options: PNSDictionary): Boolean;
var
  StartupOptions: NSDictionary;
  NotificationSettings: UIUserNotificationSettings;
  LocalNotification: UILocalNotification;
  RemoteNotification: Pointer;
  WindowManager: TCocoaTouchWindowManager;
// ITfLib : IS4TfLibrary; //Add TestFairy Library interface locally probably failed, retry

begin
  Include(FState, TApplicationDelegate.TApplicationTransitionState.Launching);
  try
    //####
    //####
    //## Here the TestFairy settings should be applied
    //##
    //## Create the interface
    //##

    ITfLib := TS4TfLibrary.Create; //!! Hier crasht es, beim Alloc:
    //##
    //## Call the interface wit hthe CORRECT appToken for SDK use
    ITfLib.&begin(StrToNSStr( '0299f3dc7.................b36fce78cb') ); //Begin TestFairy session
    //##
    //## Interface auto-destroyed
    //####
    //####

    StartupOptions := TNSDictionary.Wrap(options);
- Soweit bin ich jetzt gekommen, aber es ist schon wieder 22:30.
Deshalb habe ich das Beispiel mal angehangen, in der Hoffnung das jemand diese Library
richtig eingebunden bekommt.

Rollo
Angehängte Grafiken
Dateityp: jpg Clipboard02.jpg (78,9 KB, 8x aufgerufen)
Dateityp: jpg Clipboard01.jpg (14,6 KB, 7x aufgerufen)
Angehängte Dateien
Dateityp: zip T002_TestFairy.zip (4,66 MB, 0x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#6

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 13. Mai 2016, 11:06
nur mal kurz zu dem "Begin" nameclash. Dem interface ist doch der Name egal, der MethodIndex zählt. Nenns doch wie du willst
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#7

AW: Hat Jemand schonmal mit TestFairy herumgespielt ?

  Alt 13. Mai 2016, 11:19
Hallo Memnarch,

Die Zuordnung wird aber über den gleichen Namen gemacht.
Mir wäre auch lieber ich würde das irgendwo festlegen, statt mit CompileMagic im Hintergrund.

Ich bin mal nach Daniels super Beschreibung vorgegangen.

Aber das Interface wird nicht erzeugt.

Mir schwant aber etwas, könnte es sein das didFinishLaunchingWithOptions noch vor dem
Initialisieren des ganzen Rtti Systems getriggert wird ?
Dann könnte die Klasse eben nicht auf diese Art gefunden werden.

Gibt es einen anderen Ansatz die *.a Library von iOS har mit einer Funktion oder Klasse zu Binden,
um diese dann so früh aufzurufen ?

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 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