AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Project Magician: Löscht API-Keys unter Mobile
Thema durchsuchen
Ansicht
Themen-Optionen

Project Magician: Löscht API-Keys unter Mobile

Ein Thema von Rollo62 · begonnen am 30. Jan 2024 · letzter Beitrag vom 23. Feb 2024
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#1

Project Magician: Löscht API-Keys unter Mobile

  Alt 30. Jan 2024, 11:58
@UweRaabe

Hallo zusammen,

ich weiß nicht, ob dies die richtige Stelle für Fragen an das Project Magician Tool von Uwe ist.
Wenn nicht, dann bitte verschieben.
Auf der Blog-Seite von Uwe habe ich jedenfalls keine Kommentarmöglichkeiten gefunden.

Ich benutze das Tool ab und zu und habe mich gerade gewundert, warum die Einträge für Android Maps-SDK - apiKey in den Project Options/Version Info nicht angenommen werden.
Ich vermute, dass der Grund bei Project Magician liegen wird:
Project settings
\-- Clear settings in child configs
\----- X - Application settings
\----- X - Package settings

waren gesetzt.

Das macht, was es soll und löscht (überschreibt) anscheinend
Project Options\Version Info\Debug configuration\Android32 oder 64\Version code options\apiKey <== Der DEBUG Maps SDK-Key
Project Options\Version Info\Release configuration\Android32 oder 64\Version code options\apiKey <== Der RELEASE Maps SDK-Key

mit dem jeweiligen, leeren apiKey aus
Project Options\Version Info\All configurations\Android32 oder 64\

Weil die apiKeys für DEBUG/RELEASE natürlich unterschiedlich sein sollten, ist das nicht ganz optimal.

Deshalb meine Frage, oder Feature-Request, ob dies selektiv behandelt werden könnte?
Vielleicht ist ja schon eine Einstellmöglichkeit für solche Elemente vorhanden, die Maps-Keys sind bestimmt nicht der einzige Fall.

Seltsamerweise scheint dies Verhalten projektabhängig zu sein, in einem migriertem, alten Rx1130 Projekt belieben die Keys erhalten.
In einem neu angelegten, leeren Projekt, verschwinden die Keys, wie oben beschrieben.

Schalte ich den Projekt Magician ab, die oben genannten Checkboxen, dann bleiben auch die apiKeys wieder erhalten.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 30. Jan 2024, 13:58
Kannst du mir mal so eine dproj schicken? Oder besser zwei:
Seltsamerweise scheint dies Verhalten projektabhängig zu sein, in einem migriertem, alten Rx1130 Projekt belieben die Keys erhalten.
In einem neu angelegten, leeren Projekt, verschwinden die Keys, wie oben beschrieben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

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

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 30. Jan 2024, 17:54
Ich habe mal versucht, das in ein Mini-Projekt auszugliedern.
Es scheint immer zu löschen, dass es mal die Keys behalten hat war wohl nur eine andere Einstellung in Project Magician.
Ich vermute es ist das Flag "Version Info".

Anbei mal beide Projekte, die Namen bitte nicht beachten, beide behalten die Android Maps apiKeys nicht.

T496_OptionsApiKey.zip

Gesetzt sind die Project Options so, sonst keine Group oder Global Options:
clipboard07.jpg

Geändert von Rollo62 (30. Jan 2024 um 17:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 30. Jan 2024, 18:21
Gefunden habe ich es schon mal:
Delphi-Quellcode:
        
  Arg.Remove(sVerInfo_Keys);
Code:
  <VerInfo_Keys>
    package=com.test.$(MSBuildProjectName);
    label=$(MSBuildProjectName);
    versionCode=1043;
    versionName=1.0.43;
    persistent=False;
    restoreAnyVersion=False;
    installLocation=auto;
    largeHeap=False;
    theme=TitleBar;
    hardwareAccelerated=true;
    apiKey=
  </VerInfo_Keys>
Allerdings weiß ich nicht, wie ich das selektiv ausblenden soll. Dazu müsste man den Inhalt manipulieren, aber das wäre dann schon eine Sonderbehandlung gerade dieses Eintrags. Das lässt sich kaum übersichtlich konfigurieren und bei Harcoden habe ich immer etwas Bauchschmerzen.

Ich kann verstehen, dass der Api-Key bei Debug und Release unterschiedlich ist (wie sieht das bei den Platformen aus?), aber es gibt ja vielleicht auch andere (Child-)Konfigurationen. Wo setzt man da am besten an, ohne nur eine spezielle Lösung zu implementieren?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming

Geändert von TBx (30. Jan 2024 um 19:47 Uhr)
  Mit Zitat antworten Zitat
Rollo62

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

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 31. Jan 2024, 08:55
Dazu müsste man den Inhalt manipulieren, aber das wäre dann schon eine Sonderbehandlung gerade dieses Eintrags. Das lässt sich kaum übersichtlich konfigurieren und bei Harcoden habe ich immer etwas Bauchschmerzen.
Genau deswegen wünsche ich mir immer eine Art Text/JSON-Optionseditor, statt der Project Options
Nicht nur, dass es dann auch sauber im Git landen würde und vergleichbar würde.

Ich habe es nicht im Detail gecheckt, aber gefühlt denke ich wird es zig solcher Stellen geben,
wo sich DEBUG/RELEASE und/oder andere Stellen unterscheiden müssen.
Das ist nur eins, denke ich von vielen, aber definitiv eine solche Ausnahme, mit der man Testen kann.

Ich weiß auch nicht, wie man das am besten im Project Magician unterbringen kann, vielleicht in einer Art "Exclusions-List",
die erstmal für solche Fälle vorgesetzt sein könnte.
Das könnte eine variable Text-Liste sein (macht Sinn, wenn morgen mal wieder was Neues dazukommt),
oder auch eine feste Checkliste sein, wenn es überschaubar bleibt und dann bei der nächsten Version in Project Magician angepasst werden müsste.
Zumindest würde man dann darauf deutlich hingewiesen, auch wenn eine Änderung der Liste IMHO wenig Sinn macht.
Das Problem ist vielleicht schon, dass diese Optionen keine konkreten Namen haben, welche man in der IDE wiederfinden könnte, oder etwa doch?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 31. Jan 2024, 09:50
wo sich DEBUG/RELEASE und/oder andere Stellen unterscheiden müssen.
Da liegt genau mein Problem: Ich habe hier diverse Testdateien, bei denen es neben DEBUG und RELEASE auch noch weitere Konfigurationen gibt, und man sich fragen muss, wie die dann in das Schema passen.

Ich weiß auch nicht, wie man das am besten im Project Magician unterbringen kann, vielleicht in einer Art "Exclusions-List",
die erstmal für solche Fälle vorgesetzt sein könnte.
Es gibt in der Tat bereits so eine Datei für die Split-Funktion: DprojSplitter.cfg in %APPDARTA%\Embarcadero\BDS\xx.x
Dort stehen die zu splittenden Einträge drin. Existiert keine solche Datei wird ein Standard verwendet.

Aktuell könnte ich mir einen ähnlichen Ansatz vorstellen, bei dem die Nodes für das ClearChildVersionInfo verwendet wird. Damit ließe sich dann aber nur der gesamte Eintrag unter <VerInfo_Keys> ausschließen. Ich weiß auch nicht, ob man wirklich einzelne Einträge dieser Liste vererben kann. Das müsste dann in etwa so aussehen (habe ich aber noch nicht probiert):
Code:
 
  <VerInfo_Keys>
    $(VerInfo_Keys);
    apiKey=xxxx
  </VerInfo_Keys>
Das Problem ist vielleicht schon, dass diese Optionen keine konkreten Namen haben, welche man in der IDE wiederfinden könnte, oder etwa doch?
Das wäre dann ja vielleicht in der UI des Project Magician lösbar.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

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

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 31. Jan 2024, 10:28
Tja, ich muss wohl erstmal damit leben.
Es wird ja immer nur akut wenn es Updates oder neue Versionen gibt.
Der sauberste Weg für mich wäre wohl, wenn man z.B. ein JSON als Mutter aller Settings nimmt und die .dproj daraus erzeugen lässt, ganz ohne diese doch sehr nutzerunfreundlichen IDE Editoren.
Das schliesst den Deployment Editor gleich mit ein.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#8

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 21. Feb 2024, 08:03
Es gibt in der Tat bereits so eine Datei für die Split-Funktion: DprojSplitter.cfg in %APPDARTA%\Embarcadero\BDS\xx.x
Dort stehen die zu splittenden Einträge drin. Existiert keine solche Datei wird ein Standard verwendet.
Hallo Uwe, nochmal dazu.

Das geht dann gleich in die komplexe Richtung und wird IMHO deshalb nicht gerne benutzt, wenn es unklar ist, was genau passiert.
Wäre es nicht einfacher, wenn es zusätzliche CheckBoxen geben würde über "Version Info",
welche schonmal für die üblichen Verdächtigen zuständig ist.

Also eventuell, für die, welche man oft anfassen muss oder welche sich sehr wahrscheinlich nie unterscheiden werden:
"Version Info Defaults" ( versionCode, VersionName, CFBundleVersion, CFBundleShortVersionString, .... ) müssen ständig geändert werden
"Version Info Permissions" ( Entitlement List, Uses Permissions, die ganzen NSUsageDescriptions, UIBackgroundModes, ITSAppUsesNonExemptEnryption, .... ) müssen sich IMHO nie unterscheiden
"Version Info Complete" ( der ganze Rest )

Ich würde auch noch "package" und "CFBundleIdentifier" dazunehmen, weil ich keinen Sinn drin sehe, dass dies überhaupt verschieden sein sollte.
Wichtiger wäre mir immer, dass ich mich darauf verlassen kann, dass es in allen Zweigen korrekt gesetzt wurde.

Solche zusätzlichen Checkboxen wären doch leicht machbar.
Was hältst Du davon?
Ich denke, das würde die Arbeit ungemein erleichtern und auch die Portierung auf neue Systeme sehr erleichtern.
(Ich habe jetzt nur mal Android/iOS genommen, es gibt sicher ähnliche Einträge für alle Plattformen).
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#9

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 21. Feb 2024, 10:39
Grundsätzlich bin ich offen für solche Erweiterungen. Mangels eigener Anforderungen bin ich aber darauf angewiesen, dass ich mit jemandem die Details ausarbeiten kann. Wenn du dich da einbringen möchtest können wir das besser auf anderen Kanälen besprechen. Meine Email ist sinngemäß: uwe-uweraabe-de
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#10

AW: Project Magician: Löscht API-Keys unter Mobile

  Alt 23. Feb 2024, 09:26
Ok, ich will versuchen, das Verhalten und die relevanten Parameter für alle Plattformen (außer Linux womöglich) rauszuarbeiten,
dann aber nur für die letzte, aktuelle Version.
Im Moment bin ich aber noch zu stark eingebunden, mit den Portierungen und den Deadlines von Apple und Google.
Ich melde mich sobald etwas Luft ist.
  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 06:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz