AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenaustausch mit Mobilgeräten

Ein Thema von Union · begonnen am 12. Nov 2013 · letzter Beitrag vom 15. Nov 2013
Antwort Antwort
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Datenaustausch mit Mobilgeräten

  Alt 13. Nov 2013, 09:08
Natürlich. Siehste, das mit dem Kopieren der Dateien habe ich vergessen. Ich verbringe ja inzwischen 25% meines Arbeitstages mit QCs.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.651 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datenaustausch mit Mobilgeräten

  Alt 13. Nov 2013, 09:38
.... Ich verbringe ja inzwischen 25% meines Arbeitstages mit QCs.
Die anderen werden es dir danken, wenn es dann gleich auf Anhieb funktioniert.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Datenaustausch mit Mobilgeräten

  Alt 13. Nov 2013, 09:52
Ein Datenaustausch besteht ja immer aus 2 Teilen: dem Datentransport und dem Datenformat.
Beim Datenformat würde ich XML oder JSON verwenden.
Für sehr einfache Daten reicht auch CSV.
Den Datentransport (kopie über Datenträger, EMail, TCP/IP, FTP, WebDAV,...) kannst du noch offen lassen weil alle Wege möglich sind und sich auch nicht gegenseitig ausschliesen.

An deiner Stelle würde ich mit dem Datenformat beginnen und die Entscheidung für einen Datentransport auf später verschieben wenn du mehr Erfahrung in dem ganzen Thema gesammelt hast.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Datenaustausch mit Mobilgeräten

  Alt 13. Nov 2013, 11:58
An deiner Stelle würde ich mit dem Datenformat beginnen und die Entscheidung für einen Datentransport auf später verschieben wenn du mehr Erfahrung in dem ganzen Thema gesammelt hast.
Die Entscheidung für das Datenformat dieser speziellen app ist bereits getroffen, da wird csv verwendet da dann die Dateien eigentlich von jedem Fremdprogramm eingelesen werden können. Als Transport will ich wirklich möglichst alles abdecken, was auf so einem Mobilgerät standardmäßig eingerichtet ist: Die 3-4 größten Clouddienste sowie E-Mail attachment für den Versand. Für den Emfpang von externen Daten dann nur noch Cloud.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

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

AW: Datenaustausch mit Mobilgeräten

  Alt 13. Nov 2013, 12:11
Warum nimmst Du nicht die iCloud ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Datenaustausch mit Mobilgeräten

  Alt 13. Nov 2013, 12:23
Wie mache ich das konkret?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Datenaustausch mit Mobilgeräten

  Alt 15. Nov 2013, 08:51
So, ich habe nun herausgefunden wie das mit der iCloud geht. Basis ist dieser Beitrag von Daniel.

Abweichend von den push-Notifications muß die entitlements wie folgt aussehen, wobei die XXXXXXXXXX mit der Developer-Program-ID und das com.domain.appname durch den CFBundleIdentifier ersetzt werden müssen:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
   <key>application-identifier</key>
   <string>XXXXXXXXXX.com.domain.appname</string>
  <key>com.apple.developer.ubiquity-container-identifiers</key>
  <array>
     <string>XXXXXXXXXX.com.domain.appname</string>
  </array>   
   <key>get-task-allow</key>
   <true/>
</dict>
</plist>
Die Cloud stellt sich dann als Verzeichnis dar, dessen Namen man so ermittelt:
Delphi-Quellcode:
function GetiCloudPath : string;
var
  nsFile: NSFileManager;
  URL: NSURL;
begin
  nsFile := TNSFileManager.Wrap(TNSFileManager.OCClass.defaultManager);
  URL := nsFile.URLForUbiquityContainerIdentifier(nil);
  if (URL <> nil) then
    Result := UTF8ToString(URL.path.UTF8String)
  else
    Result := '';
end;
Man kann Dateien in diesen Pfad einfach hineinkopieren:
Delphi-Quellcode:
procedure SaveToICloud(AFileName);
var
  ACloudPath : string;
begin
  ACloudPath := GetiCloudPath;
  if ACloudPath <> 'then
  begin
    TFile.Copy(AFileName, IncludeTrailingPathDelimiter(ACloudPath)+ExtractFileName(AFileName));
  end;
end;
Der Beweis, dass es funktioniert, kann man auf dem Mac in den iCloud-Einstellungen erbringen. Wenn man dort auf "Verwalten" geht, wird eine so kopierte Datei angezeigt. Auch in den iOS-Einstellungen auf dem Gerät zeigt sich das unter "Speicher & Backup > Speicher verwalten". Dort wird der vergebene app-name (aus dem Bundle-Identifier) angezeigt und der belegte Speicherplatz.

Nachteil, der das (jedenfalls zum Datenaustausch) ziemlich unbrauchbar macht: Ohne Tricks kann man auf diese Dateien nicht zugreifen, da sie app-spezifisch verwaltet werden.

Der Trick ist, eine app auf dem Mac zu starten, die iCloud-Zugriff hat. Dadurch wird ein Dienst gestartet, der den iCloud Ordner in der User-Library einbindet.

Die Daten findet man dann unter
Code:
~/Library/Mobile Documents/XXXXXXXXXX~com~domain~appname
wobei wieder die gleichen Ersetzungen gemacht werden müssen wie bei den Entitlements.

Ziemlich unbrauchbar das Ganze, vor allem für Nicht-Programmierer und Mac-Nutzer.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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:21 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