AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Datei in iCloud/iDrive speichern und lesen
Thema durchsuchen
Ansicht
Themen-Optionen

Datei in iCloud/iDrive speichern und lesen

Ein Thema von Harry Stahl · begonnen am 9. Mär 2019 · letzter Beitrag vom 21. Nov 2020
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#1

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 14. Mär 2019, 18:37
So, habe nun mit Hilfe des Apple-Support rausbekommen, dass die in der Entitlements-Datei erzeugten Einträge für iCloud nicht korrekt waren. Das kann man ja insofern mit Delphi fixen, indem man die Datei fürs Deployment abwählt und eine eigene Entitlements-Datei zur Verfügung stellt.

Aus dieser Entitlement-Datei und den Zertifikaten erstellt Delphi dann im ScratchDir-Verzeichnis in dem App-Verzeichnis eine embedded.mobileprovision datei. Die besteht aus den Zertifikaten und den Inhalten der Entitlement-Datei. Nur hier leider immer aus den Inhalten der falschen, eigentlich abgewählten Entitlements-Datei.

Wann wird diese Datei erstellt? Anscheinend nicht jedesmal. Je nachdem, ob ich für Entwicklung oder Anwendungsstore compiliere, zaubert Delphi / PAServer entweder eine embedded.mobileprovision datei her, mit dem Datum von gestern oder vom 09.03.

Weiß jemand, wie man auf die Erstellung der embedded.mobileprovison datei Einfluss nehmen kann?
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.168 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 15. Mär 2019, 06:45
Was genau stimmt denn nicht, fehlt ein <key> ?
Normalerweise sollte man auch die _Template.entitlements im Source-Verzeichnis ändern können.
Die wird soweit ich weiss nur einmal angelegt, habs jetzt nicht bei Rio gecheckt,
aber zumindest muss mann dann nicht im ScratchDir machen.
Evtl. reicht es auch einen neuen Key unter Version info anzulegen.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 15. Mär 2019, 08:40
Delphi legt die keys falsch an.

Z.B. darf hier nicht ein Stern stehen, sondern es muss ein konkreter Eintrag rein:

<key>com.apple.developer.icloud-services</key>
<string>*</string>

Aber selbst wenn man das richtig in der Template-Datei anlegt oder einen Key in Version-Info anlegt, schreibt Delphi das immer zusätzlich in die Datei (falsch) rein.

Wie gesagt, kann man ja umgehen, mit einer eigenen Entitlements-Datei.

Aktuelles Problem ist die embedded.mobileprovision, die von Delphi auf Grundlage der "falschen" Entitlements-Datei (die Delphi bei jeder Kompilation anlegt) generiert wird und somit da die falschen Keys drin stehen, die dann iCloud-Nutzung nicht ermöglichen.

Ich habe nicht rausgefunden, ob Delphi die embedded-Datei temporär unter Windows erzeugt und dann auf den MAC überträgt, oder ob der PA-Server diese Datei generiert. Mich irritiert auch, dass diese Datei nicht jedesmal erstellt wird, sondern anscheinend nur unter bestimmten Umständen, da ich je nach Entwicklungsziel (Entwicklung / Store) immer wieder die gleichen (älteren) Dateien im Bundle vorfinde (also auch, wenn ich dort zuvor alles gelöscht habe).
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.168 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 15. Mär 2019, 09:49
Ist der key in den member certificates webseite richtig eingestellt ?
Evtl. Holt sich Delphi dort etwas falsches raus und der stern kommt von da.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 15. Mär 2019, 14:54
Habe zur Sicherheit mal doppelte IOS-Developer-Zertfikate gelöscht und das Provisioning-file neu erstellt, alles neu installiert, neu compiliert, usw. leider erscheint die APP immer noch nicht in der iCloud-Liste.

Imerhin ist jetzt klar, woher die embedded.mobileprovision datei kommt:

Das ist das Provisiong-file, das man von der Apple-Seite runterlädt und per doppelklick auf dem Device installiert (erhält dann so eine Art GUID-Name mit der Dateiendung ".mobileprovision). Dann wird davon auch eine Kopie im Ordner "library/MobileDevice/Provisioing Profiles" erstellt. Wenn man Delphi unter Optionen, Bereitstellung, Provision, das passende Bereitstellungsprofil auswählt, wird diese .mobileprovision-Datei dafür verwendet. Delphi kopiert diese Datei dann als "embedded.mobileprovision" datei in den App-Ordner, so wie ich das sehe, ohne inhaltliche Änderung der Datei selber.

Delphi holt dann die Daten für die Entitlements-Datei aus der .mobileprovsion Datei raus (siehe anlg. screenshot)

Und da steht das schon in der Tat so seltsam drin (also z.B. die "*" für verschiedene Keys), wie Delphi dann die Entitlementsdatei erstellt (am Anfang des Threads schon gezeigt).

Eine bescheidene Frage: Hat schon jemand mal von Euch die iCloud-Nutzung in die eigene App integriert?
Angehängte Grafiken
Dateityp: png provision.png (20,9 KB, 14x aufgerufen)

Geändert von Harry Stahl (15. Mär 2019 um 14:57 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.168 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 15. Mär 2019, 16:44
Das meinte ich. Kann men evtl. Im membercenter noch was ändern, anderer Name statt wildcard ?
Du könntest auch versuchen eine simple xcode app anlegen, um zu verstehen wie xcode das macht.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 15. Mär 2019, 20:51
Hatte ich zwar schon mit XCode gemacht, aber wohl nicht genau genug hingesehen!

Aber Deine Anregung genommen, es noch mal zu tun.

Und siehe da:

Der Key
<key>com.apple.developer.icloud-services</key>

erwartet ein Array, nicht nur einfach einen String.

So muss der Eintrag also richtig lauten:
Code:
<key>com.apple.developer.icloud-services</key>
<array>
  <string>CloudDocuments</string>
</array>
Und jetzt funktioniert es!

Danke Dir ganz herzlich für Deine Unterstützung, Rollo62
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
923 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 10. Sep 2020, 12:41
Just for info: Ich habe für die inkorrekte Entitlement-Datei keinen Bug-Eintrag gefunden und diesen daher mal angelegt, weil es ist ja mehr als umständlich, dem System eine zweite, korrigierte Entitlement-Datei unterzujubeln und die ursprüngliche im Deployment zu deaktivieren: https://quality.embarcadero.com/browse/RSP-30911
  Mit Zitat antworten Zitat
DSP

Registriert seit: 10. Jul 2014
49 Beiträge
 
#9

AW: Datei in iCloud/iDrive speichern und lesen

  Alt 21. Nov 2020, 16:22
Es gibt da grob gesagt 3 Arten,
  • Dokument passierte (icloud drive8
  • kvc..
  • und db passierende..

je nachdem hast du andere zugriffsmöglichkeiten und andere Methoden

dsp
  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 20:01 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