AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung MAC OSX App für den Appstore XE7 SP1
Thema durchsuchen
Ansicht
Themen-Optionen

MAC OSX App für den Appstore XE7 SP1

Ein Thema von arnof · begonnen am 24. Nov 2014 · letzter Beitrag vom 12. Jan 2015
Antwort Antwort
Seite 1 von 2  1 2      
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 25. Nov 2014, 07:07
Danke für die Information.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
265 Beiträge
 
#2

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 4. Dez 2014, 09:16
Gerade wollte ich in einem früheren Post das selbe schreiben. Wenn man mit XE5 eine Anwendung in den Store stellen will muss folgendes beachtet werden:

Libraries gehören aus dem MacOS in den Frameworks Pfad. Für die Erkennung des Verzeichnisses nutze ich u.a. folgenden Code:

Delphi-Quellcode:
  AutoReleasePool := TNSAutoreleasePool.Create();
  try
    AutoReleasePool.init;
    bundle := TNSBundle.Wrap(TNSBundle.OCClass.mainBundle);
    result := string(UTF8String(bundle.executablePath.UTF8String));
    result := TDirectory.GetParent(TDirectory.GetParent(result)) +
      '/Frameworks/';
  finally
    AutoReleasePool.release;
  end;
Außerdem muss die Entitlements.plist aus der "Contents\"-Root in das "Contents\Resources\" Verzeichnis.

Christian
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 4. Dez 2014, 19:27
So nun ist der Review abgelehnt worden:

ich benutzte FireDac und greife damit auf sqlite zu, liefere die libsqlite3.dylib nicht mit aus, da die auf den macs vorhanden ist.

Keine Ahnung wie man das mit dem Path macht mit Delphi:

2.2: Apps that exhibit bugs will be rejected
2.2

The app references frameworks in a fragile manner, which might result in bugs.

The app references the following frameworks using a relative path:

'@rpath/libsqlite3.dylib'

Best Mac OS X development practices suggest using (in order)

@executable_path/
@loader_path/
@rpath/

For more information about linking frameworks, please see the following documents:

* Run-Path Dependent Libraries section of Dynamic Library Programming Topics

* dyld(1) man page

If you are unable to reproduce this issue, ensure you are testing the exact version of the app that you submitted for review, and that you're doing so in a minimally privileged environment. See Technical Q&A QA1778: How to reproduce bugs reported against Mac App Store submissions.

For information on how to symbolicate and read a crash log, please see Technical Note TN2123 - CrashReporter.
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
265 Beiträge
 
#4

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 4. Dez 2014, 20:02
Das liest sich so, als ob der die bemängeln das die sqlite Bibliothek global aufgerufen wird. Pack die einfach mal mit in dein Release.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 11. Dez 2014, 07:54
So nun ist der Review abgelehnt worden:

ich benutzte FireDac und greife damit auf sqlite zu, liefere die libsqlite3.dylib nicht mit aus, da die auf den macs vorhanden ist.

Keine Ahnung wie man das mit dem Path macht mit Delphi:

2.2: Apps that exhibit bugs will be rejected
2.2

The app references frameworks in a fragile manner, which might result in bugs.

The app references the following frameworks using a relative path:

'@rpath/libsqlite3.dylib'

Best Mac OS X development practices suggest using (in order)

@executable_path/
@loader_path/
@rpath/

For more information about linking frameworks, please see the following documents:

* Run-Path Dependent Libraries section of Dynamic Library Programming Topics

* dyld(1) man page

If you are unable to reproduce this issue, ensure you are testing the exact version of the app that you submitted for review, and that you're doing so in a minimally privileged environment. See Technical Q&A QA1778: How to reproduce bugs reported against Mac App Store submissions.

For information on how to symbolicate and read a crash log, please see Technical Note TN2123 - CrashReporter.
Ja wieder mit der gleichen Begründung abgelehnt, packe ich die libSQLite3.dylib ins Paket, so geht die Signierung wieder nicht

Mal eine Frage, hat irgend jemand eine Datenbank basierte App in den Appstore bekommen (seit August) Hier meine ich nicht nur XE5/6/7 sondern auch xcode, da die Signierung ja alle betrifft!

Geändert von arnof (11. Dez 2014 um 08:02 Uhr)
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
265 Beiträge
 
#6

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 11. Dez 2014, 09:38
Ich nutze auch dynamische Bibliotheken, allerdings konnte ich seit geraumer Zeit nicht mehr mit XE5 meine Apps signieren. XE7 hab ich nicht getestet, aber was geht ist die Bibliothek in einen Frameworks Unterpfad zu packen und via Konsole zu signieren.
Also sowas:

sudo codesign -f -v -s "3rd Party Mac Developer Application" "appname.app" --deep --entitlements "appname.app/Contents/Resources/Entitlements.plist"
sudo productbuild --component "appname.app" /Applications --sign "3rd Party Mac Developer Installer" --product "appname.app/Contents/info.plist" appname.pkg

Natürlich kann es auch sein, dass ich Reis erzähle, da mein aktuelles Update noch nicht reviewed wurde und es eventuell noch abgelehnt werden kann. Alles in allem nervige Stolperfallen bei denen man sich fragt ob sich der Aufwand eine App für deren "doofen" Store zu erstellen überhaupt lohnt.
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 12. Dez 2014, 17:47
Gerade wollte ich in einem früheren Post das selbe schreiben. Wenn man mit XE5 eine Anwendung in den Store stellen will muss folgendes beachtet werden:

Libraries gehören aus dem MacOS in den Frameworks Pfad. Für die Erkennung des Verzeichnisses nutze ich u.a. folgenden Code:

Delphi-Quellcode:
  AutoReleasePool := TNSAutoreleasePool.Create();
  try
    AutoReleasePool.init;
    bundle := TNSBundle.Wrap(TNSBundle.OCClass.mainBundle);
    result := string(UTF8String(bundle.executablePath.UTF8String));
    result := TDirectory.GetParent(TDirectory.GetParent(result)) +
      '/Frameworks/';
  finally
    AutoReleasePool.release;
  end;
Außerdem muss die Entitlements.plist aus der "Contents\"-Root in das "Contents\Resources\" Verzeichnis.

Christian
Hi, wie machts Du das mit dem dylib path? Du suchts hier das Verzeichnis heraus ? und dann ? wo setzt Du den Suchpath für die dylib ?
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 12. Dez 2014, 22:40
weiss jemand woher man eine libsqlite3.dylib herbekommen kann. Ich habe nur was in Uralten SDK's gefunden, was der Apploader ablehnt.
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
265 Beiträge
 
#9

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 13. Dez 2014, 18:27
Also mein neues JustRadio Update wurde heute Nacht quasi innerhalb von ner halben Stunde reviewed und durchgewunken.

Ich lade meine Bibliotheken normal via handle := loadlibrary(PChar(Libfolder()+'libname.dylib')); Wobei die Funktion Libfolder in dem Fall wie in meinem letzten Post ausschaut.
Theoretisch könnte man so etwas machen: result := TDirectory.GetParent(TDirectory.GetParent(Paramstr (0)))+'/Frameworks/'. Das fand ich persönlich allerdings zu unsauber.

Vorkompilierte Binaries von SQLite gibts u.a. hier: https://www.sqlite.org/download.html. Ich weiß aber nicht ob die sehr aktuell sind. Selber nutze ich eine wesentlich ältere Build.

Christian

Geändert von CHackbart (13. Dez 2014 um 18:30 Uhr)
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: MAC OSX App für den Appstore XE7 SP1

  Alt 13. Dez 2014, 19:35
Also mein neues JustRadio Update wurde heute Nacht quasi innerhalb von ner halben Stunde reviewed und durchgewunken.

Ich lade meine Bibliotheken normal via handle := loadlibrary(PChar(Libfolder()+'libname.dylib')); Wobei die Funktion Libfolder in dem Fall wie in meinem letzten Post ausschaut.
Theoretisch könnte man so etwas machen: result := TDirectory.GetParent(TDirectory.GetParent(Paramstr (0)))+'/Frameworks/'. Das fand ich persönlich allerdings zu unsauber.

Vorkompilierte Binaries von SQLite gibts u.a. hier: https://www.sqlite.org/download.html. Ich weiß aber nicht ob die sehr aktuell sind. Selber nutze ich eine wesentlich ältere Build.

Christian
Ja danke. Eigentlich geht ja bei mir alles, bis auf Apple: ich habe nun die libsql3.dylib von meinen Mac selbst genommen. Signierung geht; alles geht, ABER: der Apploader sagt, das unterstützt mehr als X86 und X64, deshalb geht das nicht

Unter www.sqlite.org und sonst wo auf der googlewelt habe ich keine libsqlite3.dylib zum download gefunden, die müsste man quasi wohl selbst aus dem Quellcode erstellt

Nun mache ich gerade folgendes, damit die App den Review übersteht

Ich prüfe, ob die libsqlite3.dylib verfügbar ist (via eigenem LoadLibary), falls nicht bleibt die App im "Offlinemodus", wo nicht alle Funktionen verfügbar sind.

Gibt es irgendwo ein Recht was man eintragen kann/muss, um auf /usr/lib zugreifen zu können ? (Dort ist die Maceigene dylib ....

Geändert von arnof (13. Dez 2014 um 20:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:08 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