Can't archive iOS Application (iOS App Archive)

1.5k views Asked by At

I KNOW THAT MY QUESTION IS A LOT OF TIMES DISCUSSED, but no one solution helped me fully (SKIP_INSTALL, copy headers from public and private to Project section and etc.).

What I have and what I did:

So, I have a workspace in that I have some projects. I need to archive my project (let's name it Project1) for presenting it in the AppStore. I used some classes from other projects in my workspace (for that I added them to Edit Scheme-Manage Scheme in my Project1) I mean I import them.

In my Project1 and workspace I did:

  • set option SKIP_INSTALL to YES in Static Libraries and NO for PROJECTS (and in other projects from that I import classes I did the same);
  • transfer some headers from Copy headers from public to Project section in the project from that I import classes to my Project1 as I said before;
  • in Code_Sign_Identity set Distribution Provisioning Profile
  • In Project1 in Edit Scheme-Archive-Build Configuration I set Release;
  • In Project1 in Edit Scheme-Archive-Options I set Reveal Archive in Organizer;

What happens after use Menu-Product-Archive?

When I press Archive XCode begins work process but when it ends nothing happens in Organizer nothing appears. I found great article (Technical Note) in Apple Docs - Xcode successfully archived my application, but the Archives Organizer does not list my archive but it not helped me. I have already archived another project from that workspace and it worked for that project then, but now for my Project1. I think I set something wrong in Build Setting but can't identify what exactly.

What is wrong with my project/workspace?

1

There are 1 answers

0
Vladimir On

I solved the question by myself. The decision is: in Build Settings - INSTALL_PATH set "$(LOCAL_APPS_DIR)" - this code will generate /Applications.

INSTALL_PATH install place where XCode will store archive for you.

As I right understand to solve the task about archiving you need to do:

  1. in your PROJECT-SKIP_INSTALL - set to NO, and in your LIBRARIES-SKIP_INSTALL - set to YES;
  2. in your Project set Build Settings - INSTALL_PATH set "$(LOCAL_APPS_DIR)"
  3. in Build Phases-Copy headers transfer headers from Public/Private to Project section.

I did these three steps and they are helped me, and I hope they will help you too.