Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   MAC OSX App für den Appstore XE7 SP1 (https://www.delphipraxis.net/182884-mac-osx-app-fuer-den-appstore-xe7-sp1.html)

arnof 24. Nov 2014 07:38

MAC OSX App für den Appstore XE7 SP1
 
Hallo,

ich versuche gerade mal wieder eine App für den MAC OSX Appstore hochzuladen :cry:

Hier sagt mir itunesconnect "Ungültige Binärdatei"

und per Mail wird man nun aufgeklärt das eine mitgelieferte CSV Datei nicht signiert ist :?::!:

code object is not signed at all
In subcomponent: ..../Contents/MacOS/wasauchimmer.csv

Frage, weis jemand in welches Verzeichnis man zusätzlich Dateien auslagern muss, damit das nicht mehr angemeckert wird ?

arnof 25. Nov 2014 00:20

AW: MAC OSX App für den Appstore XE7 SP1
 
Falls es jemand interessiert:

ich habe nun alles zusätzliche (styles, txt und csv) in das Verzeichnis Contents/Resources gelegt.

Die akzeptiert Apple nun :thumb:

Daniel 25. Nov 2014 07:07

AW: MAC OSX App für den Appstore XE7 SP1
 
Danke für die Information. :-)

CHackbart 4. Dez 2014 09:16

AW: MAC OSX App für den Appstore XE7 SP1
 
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

arnof 4. Dez 2014 19:27

AW: MAC OSX App für den Appstore XE7 SP1
 
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.

CHackbart 4. Dez 2014 20:02

AW: MAC OSX App für den Appstore XE7 SP1
 
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.

arnof 11. Dez 2014 07:54

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

Zitat von arnof (Beitrag 1282271)
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 :kotz:

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!

CHackbart 11. Dez 2014 09:38

AW: MAC OSX App für den Appstore XE7 SP1
 
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.

arnof 12. Dez 2014 17:47

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

Zitat von CHackbart (Beitrag 1282203)
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 ?

arnof 12. Dez 2014 22:40

AW: MAC OSX App für den Appstore XE7 SP1
 
weiss jemand woher man eine libsqlite3.dylib herbekommen kann. Ich habe nur was in Uralten SDK's gefunden, was der Apploader ablehnt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:52 Uhr.
Seite 1 von 2  1 2      

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