26
COMMENT SOUMETTRE UNE APPLICATION 4D v12 SUR LE « MAC APP STORE » v 3.2 5 octobre 2011

4D et MacAppstore

Embed Size (px)

DESCRIPTION

Comment publier sa base 4D sur le MacAppstore

Citation preview

Page 1: 4D et MacAppstore

       

               

 

COMMENT  SOUMETTRE  UNE  APPLICATION  4D  v12  SUR  LE  «  MAC  APP  STORE  »  

                                                           

v  3.2  5  octobre  2011  

 

Page 2: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

2

Sommaire  I.  Pré-­‐requis____________________________________________________________________________________ 3  

1.  Respecter  les  pré-­‐requis  Apple _________________________________________________________________ 3  2.  Disposer  d'une  licence  «  4D  Developer  Pro  »  ou  «  4D  OEM  Desktop  v12  » ______________________________ 4  3.  Avoir  un  compte  Developpeur  Mac  (coût  :  99  $  /  an) _______________________________________________ 4  4.  Installer  l'environnement  Apple ________________________________________________________________ 4  

II.  Génération  des  Certificats ______________________________________________________________________ 5  1.  Générer  une  demande  de  certificat  «  Certificate  Signing  Request  »  (CSR)  à  partir  de  votre  Mac _____________ 5  2.  Générer  le  certificat  «  Mac  App  Software  » _______________________________________________________ 5  3.  Générer  le  certificat  «  Mac  Installer  Package  » ____________________________________________________ 5  

III.  Préparation  de  l'application  4D  Volume  Desktop  v12 _______________________________________________ 6  

IV.  Préparation  de  l'application  4D  v12______________________________________________________________ 6  

V.  Soumettre  votre  application  sur  Mac  App  Store ____________________________________________________ 8  1.  Générer  un  exécutable  4D ____________________________________________________________________ 8  2.  Signer  votre  exécutable  4D____________________________________________________________________ 9  3.  Générer  le  package  en  le  signant _______________________________________________________________ 9  

4.  Installation  du  package  dans  le  dossier  Applications ________________________________________________ 9  

VI.  Soumettre  l'application  à  Apple________________________________________________________________ 10  1.  iTunes  Connect ____________________________________________________________________________ 10  2.  Installing  Application  Loader__________________________________________________________________ 13  3.  Starting  Application  Loader___________________________________________________________________ 15  

4.  Delivering  your  application ___________________________________________________________________ 16  

Annexe  :  Comment  personnaliser  une  application  4D_________________________________________________ 18  1.  Personnalisation  de  l'à  propos ________________________________________________________________ 18  2.  Supprimer  les  lignes  d'aide  des  composants  4D  utilisés ____________________________________________ 18  3.  Ajouter  son  menu  d'Aide ____________________________________________________________________ 18  

4.  Personnalisation  du  fichier  «  BuildApp.xml  »_____________________________________________________ 19  5.  Personnalisation  de  la  barre  de  menu __________________________________________________________ 19  

6.  Masquer  l'écran  d'accueil ____________________________________________________________________ 20    

 

 

Page 3: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

3

I.  Pré-­‐requis  

1.  Respecter  les  pré-­‐requis  Apple  

Apps  that  crash  will  be  rejected   Apps  that  exhibit  bugs  will  be  rejected   Apps  that  do  not  perform  as  advertised  by  the  developer  will  be  rejected   Apps  that  include  undocumented  or  hidden  features  inconsistent  with  the  description  of  the  app  

will  be  rejected   Apps  that  use  non-­‐public  APIs  will  be  rejected   Apps  that  are  "beta",  "demo",  "trial",  or  "test"  versions  will  be  rejected   Apps  that  duplicate  apps  already  in  the  App  Store  may  be  rejected,  particularly  if  there  are  many  

of  them   Apps  that  are  not  very  useful  or  do  not  provide  any  lasting  entertainment  value  may  be  rejected   Apps  that  are  primarily  marketing  materials  or  advertisements  will  be  rejected   Apps  that  are  intended  to  provide  trick  or  fake  functionality  that  are  not  clearly  marked  as  such  

will  be  rejected   Apps  that  encourage  excessive  consumption  of  alcohol  or  illegal  substances,  or  encourage  minors  

to  consume  alcohol  or  smoke  cigarettes,  will  be  rejected   Apps  that  provide  incorrect  diagnostic  or  other  inaccurate  device  data  will  be  rejected   Developers  "spamming"  the  App  Store  with  many  versions  of  similar  apps  will  be  removed  from  

the  Mac  Developer  Program   Apps  must  be  packaged  and  submitted  using  Apple's  packaging  technologies  included  in  Xcode  -­‐  

no  third  party  installers  allowed   Apps  must  be  self-­‐contained,  single  application  installation  bundles,  and  cannot  install  code  or  

resources  in  shared  locations   Apps  that  download  or  install  additional  code  or  resources  to  add  functionality  or  change  their  

primary  purpose  will  be  rejected   Apps  that  download  other  standalone  apps  will  be  rejected   Apps  that  install  kexts  will  be  rejected   Apps  that  require  license  keys  or  implement  their  own  copy  protection  will  be  rejected   Apps  that  present  a  license  screen  at  launch  will  be  rejected   Apps  may  not  use  update  mechanisms  outside  of  the  App  Store   Apps  must  contain  all  language  support  in  a  single  app  bundle  (single  binary  multiple  language)   Apps  that  spawn  processes  that  continue  to  run  after  a  user  has  quit  the  app  without  user  

consent  will  be  rejected   Apps  that  use  deprecated  or  optionally  installed  technologies  (e.g.,  Java,  Rosetta)  will  be  rejected   Apps  that  do  not  run  on  the  currently  shipping  OS  will  be  rejected   Apps  that  are  set  to  auto-­‐launch  or  to  have  other  code  automatically  run  at  startup  or  login  

without  user  consent  will  be  rejected   Apps  that  request  escalation  to  root  privileges  or  use  setuid  attributes  will  be  rejected   Apps  that  add  their  icons  to  the  Dock  or  leave  short  cuts  on  the  user  desktop  will  be  rejected   Apps  that  do  not  use  the  appropriate  Mac  OS  X  APIs  for  modifying  user  data  stored  by  other  apps  

(e.g  bookmarks,  Address  Book  or  Calendar  entries)  will  be  rejected   Apps  that  do  not  comply  with  the  Mac  OS  X  File  System  documentation  will  be  rejected  

   According  to  Apple's  recommendations,  the  application  should  conform  to  the  following  rules:    

Except  as  Noted  below,  Unless  user  has  Explicitly  Choose  to  save  data  in  renting  alternate  year  (using  a  File  Save  As  dialog),  "should  write  your  application  only  to  rentals  THE  FOLLOWING:  

o ~  /  Library  /  Application  Support  /  <app-­‐identifier>  o ~  /  Library  /  <app-­‐identifier>  o ~  /  Library  /  Caches  /  <app-­‐identifier>  

 

Page 4: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

4

WHERE  CAN  <app-­‐identifier>  be  your  application's  bundle  identify  icts  name,  or  your  company's  name.  Thesis  strings  must  match  What  You  Provided  Through  iTunes  Connect  for  this  application.  

  You  Should  Always  use  Apple  programming  interfaces  to  locate  paths  thesis  

(NSSearchPathForDirectoriesInDomains,  for  example).  For  more  information,  see  "Creating  Paths  and  Locating  Directories"  in  Low-­‐Level  File  Management  Programming  Topics.  

  If  your  application  marriages  libraries  of  photos,  music,  or  movies,  The  May  application  aussi  write  to  

directories  THE  FOLLOWING:  o ~  /  Pictures  /  <app-­‐identifier>  o ~  /  Music  /  <app-­‐identifier>  o ~  /  Movies  /  <app-­‐identifier>  

  Your  Application  May  to  write  temporary  paths  That  You  ACQUIRE-­‐through  calls  to  Apple-­‐provided  API  

functions.    

You  May  Also  uses  Apple  frameworks  Such  as  User  Defaults,  Calendar  Store,  and  Address  Book  That  implicitly  write  or  modify  files  thesis  Outside  of  Permitted  locations.  

 2.  Disposer  d’une  licence  «  4D  Developer  Professional  »  ou  «  4D  OEM  Desktop  v12  »  

Contacter  votre  interlocuteur  commercial  4D.      3.  Avoir  un  compte  Developpeur  Mac  (coût  :  99$  /  an)  

Se  rendre  sur  le  site  :  http://developer.apple.com/programs/mac/      4.  Installer  l’environnement  Apple  

Se  rendre  sur  le  site  :  http://developer.apple.com/devcenter/mac/index.action  et  télécharger  les  dernières    versions  de  :   XCode   Application  Tools  

Page 5: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

5

Page 6: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

6

II.  Génération  des  Certificats  

Il  est  impératif  de  remplir  toutes  les  conditions  listées  dans  les  pré-­‐requis  avant  d’acheter  un  certificat.    Une  fois  que  vous  vous  serez  assuré  de  remplir  toutes  ces  conditions,  merci  de  suivre  la  procédure  ci-­‐dessous  :    1.  Générer  une  demande  de  certificat  «  Certificate  Signing  request  »  (CSR)  à  partir  de  votre  Mac  

Lancer  l’application  «  Trousseau  d’accès  »  présente  dans  le  dossier  /Applications/Utilities/   Aller  dans  le  menu  «  Trousseau  d’accès  »  puis  cliquer  sur  «  Assistant  de  certification  »  puis  sur  

«  Demander  un  certificat  à  une  autorité  de  certificat  »   Remplir  les  3  champs   Cocher  l’option  «  Enregistrée  sur  disque  »   Cliquer  sur  «  Continuer  »  et  sélectionner  un  dossier  sur  le  disque   Cliquer  sur  «  Terminé  »  

 2.  Générer  le  certificat  «  Mac  App  Software  »  

Se  rendre  sur  le  site  Apple  «  Developer  Certificate  Utility  »  :  https://developer.apple.com/certificates/index.action  

Cliquer  sur  le  lien  «  Create  Certificates  »   Cocher  les  2  options  :  

o Mac  App  Software  Certificate  o Mac  Installer  Package  Certificate  

 

   

Cliquer  sur  «  Create  Certificate  »  puis  sur  «  Continue  »   Cliquer  sur  «  Parcourir  »  et  sélectionner  le  «  Certificate  Signing  request  »  sur  votre  disque   Cliquer  sur  «  Generate  »  puis  sur  «  Continue  »   Cliquer  sur  «  Download  »  pour  télécharger  le  certificat  sur  le  disque   Double  cliquer  sur  le  certificat  pour  l’installer   Cliquer  sur  «  Continue  »  

 3.  Générer  le  certificat  «  Mac  Installer  Package  »  

Cliquer  sur  «  Continue  »   Cliquer  sur  «  Parcourir  »  et  sélectionner  le  «  Certificate  Signing  request  »  sur  votre  disque   Cliquer  sur  «  Generate  »  puis  sur  «  Continue  »   Cliquer  sur  «  Download  »  pour  télécharger  le  certificat  sur  le  disque   Double  cliquer  sur  le  certificat  pour  l’installer   Cliquer  sur  «  Done  »  

 

Page 7: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

7

Vous  avez  maintenant  2  nouveaux  certificats  installés  sur  votre  machine  et  visibles  dans  l’application  «  Trousseau  d’accès  ».  

Page 8: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

8

III.  Préparation  de  l’application  4D  Volume  Desktop  v12  

Copier  le  dossier  «  _MASReceipt  »  dans  le  dossier  Contents  du  package  4D  Volume  Desktop    

Modifier  l’info.plist  :  ajouter  l’item  «  DatabaseOutsidePackage  »  et  lui  associer  la  valeur  «  true  »  en  minuscule  :  

 

IV.  Préparation  de  l’application  4D  v12  

Modifier  dans  les  propriétés  de  la  base  le  chemin  du  dossier  temporaire  pour  respecter  les  prérequis  Apple  :  cocher  l’option  «  Data  File  Folder  »  dans  l’onglet  «  Database  »  

 Important  :  uniquement  sur  mac  et  uniquement  si  la  clé  «  DatabaseOutsidePackage  »  est  présente  dans  l'info.plist  d'une  base  enginée  :  l'emplacement  des  préférences  de  l'application  sera  «  ~/Library/Application  Support  »  au  lieu  de  «  ~/Library/Preferences  ».  Cela  concerne  aussi  la  commande  «  System  folder  »  avec  le  sélecteur  «  User  Preferences_User  ».    

Copier  le  plugin  de  Miyako  «  App  Store  Tools  »  dans  le  dossier  Plugins  de  votre  base    

Le  plugin  de  Miyako  a  pour  objectif  de  vérifier  que  le  certificat  envoyé  par  Apple  est  valide  et  ainsi  interdire  l’accès  à  votre  application  ou  non.  

  Ouvrir  votre  base  avec  4D  v12  

  Créer  une  nouvelle  méthode  qui  sera  appelée  «  sur  ouverture  »  et  saisir  le  code  4D  ci-­‐

dessous  :    

C_TEXTE($B_identifer;$B_version;$R_identifier;$R_version;$R_hash;$R_opaque;$GUID;$computed_hash)    //code  173  is  recognized  by  OS  X  10.6.6  or  later,  //The  system  interprets  the  exit  status  and  attempts  to  obtain  a  valid  receipt.    //Assuming  your  application  signing  certificate  is  valid,  the  system  installs  a  valid  receipt  for  the  application.  The  system  may  prompt  you  for  your  iTunes  credentials.    Si  (Faux)  

//The  application  will  quit  immediately;  be  sure  you  know  what  you  are  doing!  EXIT  173    

Fin  de  si      //These  values  are  read  from  the  application's  Info.plist.  //The  purpose  is  to  compare  againsy  the  values  recorded  in  the  Apple  receipt.  $B_identifer:=BUNDLE  Get  identifer    $B_version:=BUNDLE  Get  version      //When  an  application  is  installed  from  the  App  Store,  it  contains  a  receipt  that  is  cryptographically  signed.      //The  receipt  is  stored  inside  the  application  bundle.  For  example,  if  your  application  is  named  SampleApp,  your  receipt  is  located  at:    //.../SampleApp.app/Contents/_MASReceipt/receipt    //You  can  find  a  copy  in  the  Resources  folder  of  this  sample  database.    //Fetch  the  following  values  from  the  receipt.  //hash  and  opaque  are  raw  binary  values,  converted  to  hexaecimal.  

Page 9: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

9

$R_identifier:=RECEIPT  Get  identifier    $R_version:=RECEIPT  Get  version    $R_hash:=RECEIPT  Get  hash    $R_opaque:=RECEIPT  Get  opaque          //If  identifier  and  version  don't  match,  don't  even  care  about  hash,  the  receipt  doesn't  match.  Si  ($B_version=$R_version)  

Si  ($B_identifer=$R_identifier)    

Fin  de  si    Fin  de  si      //This  is  the  computer's  unique  number.  $GUID:=GUID  Get  identifier      //Pass  the  computer's  GUID,  the  key  from  the  receipt  and  the  application's  UTI.    //The  values  below  are  from  the  Apple  sample  receipt.  $computed_hash:=GUID  Compute  hash  ("0017f2c4bcc0";$R_opaque;$R_identifier)    Si  (($computed_hash=$R_hash)  &  (Longueur($computed_hash)>0))  

//The  receipt  is  valid.    

//ALERTE("OK")  Sinon    

ALERTE("KO")  Fin  de  si      

  Cette  méthode  doit  être  adaptée  par  le  développeur  pour  gérer  :  

o Le  numéro  de  version  de  son  application  et  celui  de  4D  (BUNDLE  Get  Version)  pour  gérer  les  mises  à  jour  automatiques  de  son  application  via  l’App  Store  (est-­‐ce  que  le  développeur  se  base  uniquement  sur  son  numéro  de  version  ou  sur  celui  de  4D  par  exemple)  

Le  développeur  doit  également  prendre  soin  de  vérifier  au  démarrage  de  son  application  la  présence  du  plugin  «  App  Store  Tools  »  pour  éviter  les  utilisations  abusives  de  son  application.  On  peut  imaginer  par  exemple  générer  le  MD5  du  plugin  de  Miyako,  (disponible  sur  :    http://sources.4d.com/trac/4d_keisuke/wiki/MacAppStoreTool)  le  stocker  dans  une  variable  et  comparer  à  chaque  lancement  si  le  MD5  (hash  permettant  de  calculer  l’empreinte  mémoire  du  plugin)  est  toujours  identique.  Ce  procédé  permet  de  vérifier  que  le  plugin  n’a  pas  été  modifié  et  ainsi  éviter  que  les  utilisateurs  utilisent  un  stub  du  plugin  par  exemple.  Pour  cela  vous  pouvez  utiliser  le  plugin  4D  Pack  v12  :  

 C_TEXTE  ($ledoc)  C_TEXTE  (<>digest)  C_ENTIER  LONG  ($resfork)  $resfork:=0  $ledoc:=Selectionner  document  

$erreur:=AP  Get  file  MD5  digest  ($ledoc;<>digest;$resfork)    Une  fois  ces  modifications  apportées  il  est  déjà  possible  de  vérifier  le  bon  fonctionnement  de  l’application  en  version  interprétée.  Pour  cela  il  suffit  de  copier  le  dossier  «  _MASReceipt  »  dans  le  dossier  «  Contents  »  de  4D.    Si  tout  fonctionne  correctement,  nous  pouvons  maintenant  nous  atteler  à  la  génération  d’un  exécutable.      

Page 10: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

10

V.  Soumettre  votre  application  sur  Mac  App  Store  

1.  Générer  un  exécutable  4D  

Aller  en  mode  Développement   Aller  dans  le  menu  «  Développement  »  et  cliquer  sur  «  Générer  l’application  »   Aller  dans  l’onglet  «  Application  »  :  

o Cocher  l’option  «  Générer  une  application  exécutable  »  o Cliquer  sur  le  bouton  «  …  »  et  sélectionner  l’application  «  4D  Volume  Desktop  »  v12  

Aller  dans  l’onglet  «  Licences  »  :  o Cliquer  sur  le  bouton  «  +  »  et  sélectionner  votre  licence  de  développement  v12  commençant  

par  4DDP120  ou  4DOE120  o Cliquer  sur  le  bouton  «  +  »  et  sélectionner  votre  licence  de  déploiement  v12  commençant  par  

4UOE120   Renseigner  un  nom  pour  votre  application  (champ  «  Nom  de  l’application  »)   Sélectionner  un  dossier  de  destination   Cliquer  sur  le  bouton  »  Enregistrer  »  puis  «  Construire  »   Une  fois  l’application  générée  :  

o Editer  l’info.plist  et  :   préciser  un  numéro  de  build  identique  aux  items  «  Bundle  versions  string,  short  »  et  

«  Bundle  version  »  (exemple  :  1.0)   préciser  le  nom  de  votre  application  dans  l’item  «  Bundle  name  »  

o créer  un  dossier  «  UserData  »  dans  le  dossier  «  Contents  »  et  si  on  veut  fournir  un  data  avec  le  build  y  copier  le  fichier  «  4dd  »  et  le  fichier  «  match  »  

o Ouvrir  le  terminal  et  exécuter  la  ligne  de  commande  suivante  sur  l’exécutable  :  • Sudo  chmod  755  chemin_de_l’exécutable_du_build  • Exemple  :  Sudo  chmod  755  /…  

/Build/Theater.app/Contents/MacOS/Theater   Ouvrir  l’exécutable  une  fois  pour  créer  un  data  vierge  dans  le  dossier  «  Contents/UserData  »  du  

package  si  on  veut  éviter  l’ouverture  de  ce  dialogue  ensuite  (voir  pré-­‐requis  Apple)    Note  :  Apple  vous  interdit  la  modification  des  fichiers  contenus  dans  le  package  (voir  chapitre  I-­‐1  Respecter  les  pré-­‐requis  Apple).    Voici  la  liste  des  différents  cas  de  figure  possibles  :    1er  cas  :  data  non  fourni  avec  le  build  lors  de  la  première  installation  de  l’application    Au  lancement  du  build  :  

dialogue  d’ouverture  du  data  o on  peut  créer  un  nouveau  data  ou  en  sélectionner  un  existant,  dans  les  2  cas  à  l’extérieur  du  

package    

création  d’un  dossier  portant  le  nom  du  build  dans  ~Library/Application  Support/  o création  d’un  sous  dossier  portant  le  numéro  de  build  

copie  du  dossier  Database  du  build  dans  ce  sous  dossier  o création  du  fichier  «  startup.4dlink  »  contenant  le  chemin  vers  la  structure  et  le  data  o création  d’un  dossier  «  UserData  »  

   2ème  cas  :  data  fourni  avec  le  build  lors  de  la  première  installation  de  l’application    Au  lancement  du  build  :  

pas  de  dialogue  d’ouverture  du  data   création  d’un  dossier  portant  le  nom  du  build  dans  ~Library/Application  Support/  

o création  d’un  sous  dossier  portant  le  numéro  de  build  

Page 11: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

11

copie  du  dossier  Database  du  build  dans  ce  sous  dossier  o création  du  fichier  «  startup.4dlink  »  contenant  le  chemin  vers  la  structure  et  le  data  o création  d’un  dossier  «  UserData  »  

copie  du  fichier  «  4dd  »  et  du  fichier  «  match  »  dans  ce  dossier      3ème  cas  :  data  non  fourni  avec  le  build  lors  de  la  mise  à  jour  de  l’application    Note  :  mise  à  jour  =  modification  de  l’info.plist  du  build  :  changement  des  valeurs  des  items  «  Bundle  versions  string,  short  »  et  «  Bundle  version  »  (1.0  -­‐>  1.1  par  exemple).    Au  lancement  du  nouveau  build  :  

création   d’un   sous   dossier   portant   le   nouveau   numéro   de   build   (1.1   par   exemple)   dans  ~Library/Application  Support/  

o copie  du  dossier  Database  du  build  dans  ce  sous  dossier   modification  du  fichier  «  startup.4dlink  »  :  le  chemin  vers  le  4DC  est  mis  à  jour    

 4ème  cas  :  data  fourni  avec  le  build  lors  de  la  mise  à  jour  de  l’application      Note  :  mise  à  jour  =  modification  de  l’info.plist  du  build  :  changement  des  valeurs  des  items  «  Bundle  versions  string,  short  »  et  «  Bundle  version  »  (1.0  -­‐>  1.1  par  exemple).    Au  lancement  du  nouveau  build  :  

création   d’un   sous   dossier   portant   le   nouveau   numéro   de   build   (1.1   ici)   dans   ~Library/Application  Support/  

o copie  du  dossier  Database  du  build  dans  ce  sous  dossier   modification  du  fichier  «  startup.4dlink  »  :  le  chemin  vers  le  4DC  est  mis  à  jour  

 Remarque   :   Si   le  développeur  veut  obliger   les  utilisateurs  à  utiliser   le  data   fourni  avec   le  package   lors  d’une  mise  à  jour,  il  doit  le  gérer  lui-­‐même  par  programmation  4D  (copie  du  data  et  match  à  l’extérieur  du  package,  modification  du  fichier  4DLink  et  ouverture  du  data  désiré  grâce  à  la  commande  4D  adéquate).      2.  Supprimer  le  code  PPC  de  l’exécutable  

- Télécharger  l’utilitaire  gratuit  TrimTheFat  disponible  à  cette  adresse  :  http://homepage.mac.com/gweston/macware/TrimTheFat.zip    

- Glisser  déposer  votre  exécutable  sur  l’utilitaire  - L’utilitaire  renomme  automatiquement  l’ancien  exécutable.  Le  nouvel  exécutable  est  donc  celui  qui  porte  

le  bon  nom    

 3.  Signer  votre  exécutable  4D  

- Lancer  l’application  «  Terminal  »  et  copier  coller  chacune  des  lignes  de  commandes  ci-­‐dessous  en  prenant  soin  de  remplacer  le  texte  entre  crochets  par  sa  valeur  et  «  xxxxx  »  par  le  nom  présent  dans  les  2  certificats  après  le  texte  «  3rd  Party  Mac  Developer  Installer:  »  (voir  trousseau  d'accès)  :    

o cd  [dossier  contienant  le  .app]    

o codesign  –f  –s  “3rd  Party  Mac  Developer  Application:  xxxxxxx”  [Nom  de  votre  application].app  

 

Page 12: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

12

4.  Générer  le  package  en  le  signant  

- Toujours  dans  la  même  fenêtre  de  l’application  «  Terminal  »  copier  coller  la  ligne  de  commande  ci-­‐dessous  en  prenant  soin  de  remplacer  le  texte  entre  crochets  par  sa  valeur  et  «  xxxxx  »  par  le  nom  présent  dans  les  2  certificats  après  le  texte  «  3rd  Party  Mac  Developer  Installer:  »  (voir  trousseau  d'accès)  :  

o productbuild  –component  [nom  de  votre  application].app/Applications  –sign  “3rd  Party  Mac  Developer  Installer:  xxxxxxx”  –product  [nom  de  votre    application].app/Contents/Info.plist  [nom  de  votre    application].pkg  

   5.  Installation  du  package  dans  le  dossier  Applications  

- Supprimer  votre  application  .app  si  vous  voulez  tester  l’installation  sur  votre  propre  machine  ou  copier  le  package  sur  une  autre  machine  

 - Lancer  l’application  «  Terminal  »  et  copier  coller  chacune  des  lignes  de  commandes  ci-­‐dessous  en  

prenant  soin  de  remplacer  le  texte  entre  crochets  par  sa  valeur  :    

o sudo  installer  -­‐store  -­‐pkg  [Nom  de  votre  application].pkg    -­‐target  /  

   Votre  application  est  maintenant  installée  dans  le  dossier  Applications.    Double  cliquer  sur  le  fichier  .app  pour  l’exécuter.        

VI.  Soumettre  l’application  à  Apple  

 1.  iTunes  Connect  

Se  rendre  sur  le  site  d’iTunes  Connect  :  https://itunesconnect.apple.com/    Créer  un  compte  iTunes  Connect  et  s’identifier.    

       Cliquer  sur  le  lien  «  Manage  Your  Applications  ».    

Page 13: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

13

       Cliquer  sur  le  bouton  «  Add  New  App  ».    

   Renseigner  les  champs  et  cliquer  sur  «  Continue  ».    

Page 14: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

14

   Préciser  la  date  de  disponibilité  de  votre  application  et  son  prix.    Astuce  :  pour  faire  un  test  de  soumission  préciser  une  date  de  disponibilité  très  éloignée.    

   

Page 15: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

15

Renseigner  les  différents  champs  correspondants  aux  métadonnées  de  votre  application  et  cliquer  sur  le  bouton  «  Save  »  puis  «  Done  ».    

     Les  informations  sur  votre  application  sont  maintenant  enregistrées  par  Apple.    Le  statut  de  votre  application  est  maintenant  «  Prepare  for  Upload  ».    

     

Page 16: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

16

Important  :  Vous  devez  à  présent  attendre  la  réception  du  mail  d’Apple  ci-­‐dessous  vous  indiquant  que  le  statut  de  l’application  est  passé  à  «  Waiting  for  Upload  »  avant  de  passer  à  l’étape  suivante.    

       2.  Installing  Application  Loader  

You  can  install  and  run  Application  Loader  on  the  Mac  OS  X  operating  system.  If  you  have  installed  iOS  SDK  3.2  or  later,  you  can  access  Application  Loader  from  the  Utilities  folder  (/Developer/Applications/Utilities/Application  Loader.app).  You  can  also  download  Application  Loader  from  iTunes  Connect.    To  install  Application  Loader  on  Mac  OS  X  from  iTunes  Connect  :    

Click  the  Download  Application  Loader  link  (http://itunesconnect.apple.com/apploader/ApplicationLoad-­‐  er_1.3.dmg)  in  the  iTunes  Connect  Manage  Your  Applications  page  (http://www.apple.com/itunes/go/itunesconnect/manageApps).  

iTunes  Connect  downloads  the  self-­‐extracting  installation  package  (ApplicationLoader_1.3.dmg).   Double-­‐click  the  installation  package  (ApplicationLoader.pkg)  and  follow  the  instructions  that  appear.  

 Note:  When  installing  Application  Loader  on  the  Mac,  before  you  can  install  the  software,  you  must  log  in  to  your  computer  as  a  member  of  the  administrator  group.      

Page 17: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

17

Read  the  installation  introduction,  and  then  click  Continue.    

     Read  the  Software  License  Agreement,  and  then  click  Continue  and  Agree.    

Click  Install  to  perform  the  standard  installation.    

The  installation  package  installs  files  in  your  /Developer/Applications/Utilities  folder.    

Type  your  administrator  password  and  click  OK,  if  prompted.    

Click  Close.    

Open  the  Application  Loader  application  by  double-­‐clicking  the  Application  Loader.app  icon  in  the  /Developer/Applications/Utilities  folder,  or  the  folder  you  specified  during  a  custom  install.  You  are  now  ready  to  begin  using  Application  Loader.  

   

Page 18: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

18

3.  Starting  Application  Loader  

Before  you  can  use  Application  Loader  to  add  applications  to  the  App  Store,  you  must  initialize  Application  Loader  by  providing  your  iTunes  Connect  login  information  at  startup.    Double-­‐click  the  Application  Loader.app  icon  in  the  /Developer/Applications/Utilities  folder.    Application  Loader  opens  the  Setup  Wizard.    

     

Click  Next  in  the  “Welcome  to  Application  Loader”  window.    

Type  your  iTunes  Connect  login  information  (Apple  ID  and  password),  and  then  click  Next.    Application  Loader  verifies  your  iTunes  Connect  login  information  and  stores  your  Apple  ID  and  password  for  future  Application  Loader  operations.    Initializing  Application  Loader  with  your  iTunes  Connect  login  information  is  account-­‐specific.  If  you  share  your  machine  with  other  users  with  different  iTunes  Connect  login  information,  you  can  each  have  your  own  Apple  ID  and  password  setting  for  Application  Loader.  

  Click  Done.  

 Application  Loader  displays  the  “Choose  an  application”  window  so  you  can  begin  using  Application  Loader.  

 Note:  If  you  change  your  iTunes  Connect  password,  you  must  use  the  Setup  Wizard  to  reset  your  Apple  ID  and  password  in  Application  Loader.  To  reset  your  Apple  ID  and  password,  choose  Window  >  Run  Setup  Wizard  in  Application  Loader,  and  then  repeat  steps  2  through  5  above.      

Page 19: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

19

4.  Delivering  your  application  

When  you  have  finished  uploading  your  assets  and  completed  the  application  submission  process  in  iTunes  Connect,  and  your  application  is  in  the  “Waiting  for  Upload”  state,  you  can  deliver  your  application  binary  files  to  the  App  Store.    This  section  describes  how  to  submit  your  application  binary  files  to  the  App  Store.      When  the  status  of  your  application  in  iTunes  Connect  is  “Waiting  for  Upload”,  you  can  use  Application  Loader  to  submit  your  binary  files  to  the  App  Store.    To  submit  your  application:    

Choose  the  name  of  your  application  from  the  Choose  pop-­‐up  menu.    

   Your  application  appears  in  the  Choose  pop-­‐up  menu  when  the  application  status  in  iTunes  Connect  is  “Waiting  for  Upload”.  If  you  have  uploaded  your  metadata  and  artwork  into  iTunes  Connect  but  have  not  yet  uploaded  your  binary,  or  if  your  application  has  been  rejected,  you  will  have  eligible  applications  to  upload.    

Click  Next.    Application  Loader  searches  for  all  eligible  applications  which  are  ready  to  be  added  to  the  App  Store,  and  then  displays  a  Please  Confirm  window.    

Click  Yes  to  indicate  you  have  tested  and  qualified  your  application.    Application  Loader  displays  a  window  with  your  application  details,  including  name  version  number,  device  support,  SKU  number,  primary  language,  and  copyright.  

 

Page 20: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

20

     

Click  Choose,  select  your  application  file,  and  then  click  Open.    

Click  the  ellipsis  button  to  replace  the  current  file  before  to  submitting.    

Click  Send.    Application  Loader  begins  submitting  your  application  binary  file  to  the  App  Store.    Click  Cancel  to  stop  the  upload  and  close  the  window.  Click  Abort  to  stop  the  transfer  and  keep  the  window  open  to  select  another  file  to  submit.  

  Click  Done.  

 Use  the  Manage  Your  Applications  page  in  iTunes  Connect  to  view  the  status  of  your  application.  

 Choose  Window  >  Background  Activity  to  display  the  Background  Activity  window  and  view  delivery  status  information  for  all  applications,  including  pending  messages,  time  remaining,  warning  and  error  messages,  and  so  on.  

Page 21: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

21

Annexe  :  Comment  personnaliser  une  application  4D  ?  

Ces  différentes  étapes  sont  à  suivre  juste  avant  de  générer  une  application  enginée.    1.  Personnalisation  de  l’à  propos  

Créer  une  méthode  «  About_NomApplication  »  et  copier  le  code  ci-­‐dessous  :    

C_ENTIER  LONG($Lon_windowID)    $Lon_windowID:=Creer  fenetre  formulaire("About_Theater";1984;Centrée  horizontalement;Centrée  verticalement)  DIALOGUE("About_Theater")  FERMER  FENETRE  

  Dans  la  méthode  base  «  Sur  ouverture  »  ajouter  la  ligne  de  code  suivante  :  

 APPELER  SUR  A  PROPOS("A  propos  de  Theater";"About_Theater")  

   2.  Supprimer  les  lignes  d’aide  des  composants  4D  utilisés  

Pour  supprimer  une  ligne  de  menu  «  Aide  »  d’un  composant  voici  la  procédure  à  suivre  :    Exemple  :  supprimer  la  ligne  de  menu  «  Help  for  4D  SVG  »  du  menu  Aide    

Afficher  le  contenu  du  packet  du  composant    

Supprimer  le  fichier  d’aide    

Dans  notre  exemple  le  fichier  se  trouve  à  cet  emplacement  :  4D  Volume  Desktop.app/Contents/Components/4D  SVG.4dbase/4D  SVG.htm  

   3.  Ajouter  son  menu  d’Aide  

4D  vous  permet  d’associer  un  fichier  d’aide  en  ligne  personnalisé  afin  de  fournir  aux  utilisateurs  des  informations  supplémentaires  sur  le  fonctionnement  de  votre  application.    Sous  Mac,  4D  accepte  le  format  de  fichiers  d’aide  CHM.  Ce  format  est  utilisé  par  tous  les  navigateurs  Web.  L’aide  en  ligne  est  alors  affichée  dans  un  navigateur  Web.    En  outre,  vous  pouvez  associer  une  page  spécifique  du  fichier  d’aide  à  chaque  formulaire  de  la  base,  ce  qui  vous  permet  de  fournir  une  aide  en  ligne  contextuelle.    Une  fois  votre  fichier  d’aide  en  ligne  généré,  vous  pouvez  l’associer  à  une  base  de  manière  à  ce  qu’il  soit  automatiquement  appelé  si  l’utilisateur  sollicite  l’aide  en  ligne  pendant  qu’il  travaille  dans  la  base.  Pour  cela  :  

Le  nom  du  fichier  d’aide  doit  être  identique  à  celui  du  fichier  de  structure  de  la  base.  Il  doit  impérativement  porter  l’extension  «  HTM  ».  

Le  fichier  d’aide  doit  être  placé  à  côté  du  fichier  de  structure  ou  dans  le  dossier  «  Plugins  »  situé  au  même  niveau  que  le  fichier  de  structure  de  la  base.  

 Un  mécanisme  similaire  a  été  mis  en  place  afin  de  permettre  aux  développeurs  d’ajouter  des  aides  en  ligne  à  leurs  composants.  Le  principe  est  semblable  à  celui  proposé  pour  les  bases  de  données  4D  (cf.  section  Annexe  A  :  Aide  en  ligne  personnalisée)  :  

Page 22: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

22

l’aide  du  composant  doit  être  fournie  sous  la  forme  d’un  fichier  suffixé  .htm,   le  fichier  d’aide  doit  être  placé  à  côté  du  fichier  de  structure  du  composant  et  porter  le  même  nom  

que  le  fichier  de  structure,   l’aide  est  alors  automatiquement  chargée  dans  le  menu  Aide  de  l’application  avec  le  libellé  «  Aide  

de...  »  suivi  du  nom  du  fichier  d’aide.      4.  Personnalisation  du  fichier  «  BuildApp.xml  »  

Pour  personnaliser  l’icône  de  l’application,  placer  votre  fichier  «  icns  »  dans  le  dossier  «  Resources  »  du  dossier  «  Contents  ».  

  Copier  le  fichier  «  BuildApp.xml  »  dans  un  autre  dossier  ou  renommer  le  

  Editer  cette  copie  du  fichier  «  BuildApp.xml  »  et  ajouter  la  clé  XML  «  RuntimeVLIconMacPath  »  

(/Preferences4D/BuildApp/SourcesFiles/RuntimeVL/RuntimeVLIconMacPath)    

Exemple  :  <RuntimeVLIconMacPath>application.icns</RuntimeVLIconMacPath>    

Pour  modifier  le  Copyright  de  votre  application  ajouter  les  clés  XML  «  CommonCopyright  »  et  «  RuntimeVLCopyright  »  (/Preferences4D/BuildApp)  

  Exemple  :    

<Versioning>  <Common>  

<CommonCopyright>Company  Copyright</CommonCopyright>  <CommonCreator>APPL</CommonCreator>  

</Common>  <RuntimeVL>  

<RuntimeVLCopyright>Company  Copyright</RuntimeVLCopyright>  <RuntimeVLCreator>APPL</RuntimeVLCreator>  

</RuntimeVL>  </Versioning>  

   Important  :  une  fois  que  vous  avez  personnalisé  le  fichier  «  BuildApp.xml  »,  vous  ne  devez  plus  générer  une  application  par  le  dialogue  de  génération  d’application  mais  grâce  à  la  commande  GENERER  APPLICATION.      5.  Personnalisation  de  la  barre  de  menu  

Menu  édition  :  o Ajouter  un  menu  «  Edition  »  à  la  barre  de  menu  associée  à  votre  application  

  Menu  Mode  :  

o Le  menu  «  Mode  »  est  inutile  »  lors  de  l’utilisation  d’une  application  enginée.  S’il  est  présent  supprimer  le  de  votre  barre  d’outil.  

  Quitter  sans  valider  :  

o Créer  une  méthode  objet  contenant  la  commande  «  QUITTER  4D  »  o Associer  cette  méthode  à  la  ligne  de  menu  «  Quitter  »  dans  la  boîte  à  outils  de  4D  tout  en  

laissant  l’action  standard  «  Quitter  »    Note  :  l’action  standard  «  Quitter  »  permet  de  placer  la  ligne  de  menu  «  Quitter  »  dans  le  menu  de  l’application.  La  méthode  objet  permet  de  ne  pas  afficher  le  dialogue  de  confirmation  pour  quitter.  Il  est  donc  nécessaire  d’utiliser  ces  deux  mécanismes  sur  Mac  sur  la  même  ligne  de  menu.  

Page 23: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

23

   

Page 24: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

24

6.  Masquer  l’écran  d’accueil  

L’option  «  Masquer  la  fenêtre  d’accueil  »  dans  les  préférences  de  l’application  ne  fonctionne  pas  lorsque  l’application  est  enginée.    Il  existe  un  contournement  :    

créer  une  méthode  objet  «  fen_accueil  »  et  copier  le  code  ci-­‐dessous  :    

C_ENTIER  LONG($nb_fen;$cpt)    LISTE  FENETRES($tabFen)  $nb_fen:=Taille  tableau($tabFen)    Si  ($nb_fen>0)  

Boucle  ($cpt;1;$nb_fen)  Si  (Titre  fenetre($tabFen{$cpt})="Application")  

<>refFenAccueil:=$tabFen{$cpt}  $cpt:=$nb_fen+1  

Fin  de  si    Fin  de  boucle    

Fin  de  si    

éditer  l’une  des  méthodes  objets  exécutées  à  l’ouverture  de  l’application  et  copier  le  code  suivant  :  

 fen_accueil    Si  (<>refFenAccueil>0)  

CACHER  FENETRE(<>refFenAccueil)  Fin  de  si  

Page 25: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

25

                                                                   

4D  SAS  Worldwide  Headquarters  

60,  rue  d’Alsace  -­‐  92110  Clichy  -­‐  France  Tel:  +33  1  40  87  92  84  -­‐  Fax  :  +33  1  40  87  92  01  

[email protected]  -­‐  www.4D.com            

 

4D  SAS  

France  

+33  1  40  87  92  00  

info-­‐[email protected]  

4D,  Inc  

USA  &  Canada  

+1  800  785  3303  

[email protected]  

4D  Deutschland  GmbH  

Germany  &  Austria  

+49  8165  95  19  0  

info-­‐[email protected]  

4D  Japan  

Japan  

+81  3  5433  3461  

info-­‐[email protected]  

4D  UK  Ltd  

United  Kingdom  

+44  1625  536  178  

info-­‐[email protected]  

4D  Hispano  

Spain,  Portugal  &  Latin  America  

+34  91  414  92  90  

info-­‐[email protected]  

info-­‐[email protected]  

info-­‐[email protected]  

4D  Sweden    

Sweden  &  Denmark  

+46  8  750  63  00  

info-­‐[email protected]  

4D  Australasia  

Australia  &  New  Zealand  

+61  2  9499  9544  

info-­‐[email protected]  

 

Page 26: 4D et MacAppstore

Comment soumettre une application 4D v12 sur le « Mac App Store »

26

Copyright  2010-­‐2011  4D  SAS.  All  rights  reserved.  4D  and  related  logos  are  registered  trademarks  of  4D  SAS.  All  other  quoted  trademarks  and  products  names  are  trademarks  and/or  registered  trademarks  of  their  respective  owners.