Trouble archiving app #34

Closed
ahhrrr opened this Issue Dec 12, 2011 · 19 comments

Comments

Projects
None yet
4 participants
Contributor

ahhrrr commented Dec 12, 2011

Hello,

I've installed the QuickDialog library into my app per the instructions in the README, including adding #import <QuickDialog/QuickDialog.h> to my prefix.pch file.

With normal builds, everything seems to work just fine – but when I try to Archive (to create an .ipa file for Ad Hoc testing), I get compile errors saying 'QuickDialog/QuickDialog.h' file not found. Any thoughts on where to look to solve this problem? Everything seems to be set up according to the docs, and I'm not quite sure where to look or what information would be helpful to share.

There is a StackOverflow question that seems to address this, but I haven't been able to get any of the solutions to work for me: http://stackoverflow.com/questions/5390404/the-workspace-with-the-ios-project-and-related-a-static-library-project

Let me know if you have any pointers. Thanks,

Ezra

Contributor

ahhrrr commented Dec 12, 2011

One note: I added an Ad Hoc configuration to my project, which certainly could be involved, but I haven't been able to archive under the normal Release configuration either.

Contributor

ahhrrr commented Dec 12, 2011

Update: I've been able to get an .ipa to build using a combination of instructions from the following pages:

http://stackoverflow.com/questions/5534235/how-do-you-get-implicit-dependencies-to-work-with-workspaces-in-xcode-4/8116994#8116994
http://stackoverflow.com/questions/5543854/xcode-4-cant-locate-public-header-files-from-static-library-dependancy

I seem to be having two separate problems. First, the default configuration for the static library doesn't build it in a location where my app's default configuration looks. Second, in the Archive process, XCode tries to active the static library as well as my app, so it creates an .xcarchive instead of .ipa file. By following the instructions in the posts, I was able to generate an ipa file – but not without changing build settings on QuickDialog's targets. And since QuickDialog is a git submodule, it's difficult to track these changes across the rest of my team. Anyway, I'm happy to put together a sample project if it would be helpful, but I don't know if anyone else is having this problem.

In the long term, I would like to use something like CocoaPods to manage the dependencies for my projects, but I've had some issues with it as well.

Owner

escoz commented Dec 12, 2011

Hi Ezra,

I'm not quite sure why that would happen, archiving seem to work fine here.
I'll give another look later on, let me know if you figure anything out.

Thanks!

On Sun, Dec 11, 2011 at 10:46 PM, Ezra Spier <
reply@reply.github.com

wrote:

Hello,

I've installed the QuickDialog library into my app per the instructions in
the README, including adding #import <QuickDialog/QuickDialog.h> to my
prefix.pch file.

With normal builds, everything seems to work just fine but when I try to
Archive (to create an .ipa file for Ad Hoc testing), I get compile errors
saying 'QuickDialog/QuickDialog.h' file not found. Any thoughts on where
to look to solve this problem? Everything seems to be set up according to
the docs, and I'm not quite sure where to look or what information would be
helpful to share.

There is a StackOverflow question that seems to address this, but I
haven't been able to get any of the solutions to work for me:
http://stackoverflow.com/questions/5390404/the-workspace-with-the-ios-project-and-related-a-static-library-project

Let me know if you have any pointers. Thanks,

Ezra


Reply to this email directly or view it on GitHub:
#34

Contributor

ahhrrr commented Dec 12, 2011

Thanks for the feedback! I'll try to reproduce the problem I'm having with some sample code so we can look at the same thing. It's good to know that the problem is probably unique to my project.

Contributor

ahhrrr commented Dec 13, 2011

Hi again,

I created a new, empty app in XCode, imported QuickDialog, and am having the same problem when I try to Archive for an iOS device: https://github.com/ahhrrr/TestApp

Screenshot

Let me know if you have any ideas. Thanks!

Ezra

Contributor

ahhrrr commented Dec 21, 2011

Another quick update: I still haven't been able to get the project to archive correctly when using QuickDialog as a static library. For now, I'm including the source manually, and adding the correct includes to my prefix file. I suppose that this isn't idea, but it does seem to be working fine for now.

Contributor

fourplusone commented Dec 21, 2011

I think fourplusone/QuickDialog@963e467 fixes this issue at least I was able after restarting XCode + cleaning the project to "Archive" for iOS Device.

Owner

escoz commented Dec 21, 2011

Cool, thanks guys.. I"ll try to look into this tomorrow, and probably just
accept forplusone's commit!

On Wed, Dec 21, 2011 at 1:57 PM, fourplusone <
reply@reply.github.com

wrote:

I think
fourplusone/QuickDialog@963e467 this issue at least I was able after restarting XCode + cleaning the
project to "Archive" for iOS Device.


Reply to this email directly or view it on GitHub:
#34 (comment)

Hi, I'm having the same issue and I've updated to the latest QuickDialog my latest updates to commit d3b439e. I've cleaned and restarted but I still get an archive issue. I may revert to going the route of adding all source manually. Any suggestions? I'm using Xcode 4.2.1 and targeting IOS 5. And have included QuickDialog via the instructions in the README. But i still get the error Lexical or Preprocessor issue can't find 'QuickDialog/QuickDialog.h" file in my PCH.

Let me add that using Quick Dialog on the simulator or debugging on my phone works fine. Just when I goto product Archive with my project and target IOS Device.

Contributor

fourplusone commented Jan 3, 2012

try using fourplusone/QuickDialog@963e467 (by changing your submodule ref)
It has not been merged yet/.

Thanks for your quick response. Ugh I saw this in HEAD history:

Merge pull request #30 from fourplusone/fix_ios4

And assumed it was already merged which is my fault for not paying attention, I will give your suggestion a try and thank you.

I'm going to wait until the fix is merged. I'm not confident enough in my knowledge of XCode and I don't want to have a git instability because I don't know what I'm doing. Hopefully, a fix is committed soon to HEAD that just allows me to click on Product->Archive and it just works. Our project is not due to for app store submission for months.

Contributor

ahhrrr commented Jan 3, 2012

@madgeekfiend If you do need a workaround, you can always include the source files manually. This is what I'm doing until this issue is fully resolved.

@ahhrrr Thank you I saw that's what you posted earlier. Are you saying you just copied all the QuickDialog source code into your own project and removed QuickDialog as a subproject? If it's that easy I can see myself doing that if we need to push to the store soon, which I don't think we will as our app is no where near done. And this is what I mean by my knowledge of XCode is lacking and is probably the roadblock here.

If I were to go this route does that mean removing quickDialog from all the buld phases and copy all the quckdialog source to my project? Thanks.

Owner

escoz commented Jan 3, 2012

I'm currently traveling; I'll try to look into this over the next couple of days!

On Jan 3, 2012, at 3:13 PM, Samreply@reply.github.com wrote:

I'm going to wait until the fix is merged. I'm not confident enough in my knowledge of XCode and I don't want to have a git instability because I don't know what I'm doing. Hopefully, a fix is committed soon to HEAD that just allows me to click on Product->Archive and it just works. Our project is not due to for app store submission for months.


Reply to this email directly or view it on GitHub:
#34 (comment)

Thanks escoz! Don't worry too much about it as I said I'm using it in a project that is weeks and maybe months out from actually needing to submit to the store. Enjoy your travels and thanks for making/maintaining a great project!

@ahhrrr I was able to get it to work and 'archive' using your method.

Basically I dropped the dependancy on QuickDialog project from XCode, copied the source code from QuickDialog/quickdialog to my project I created a new group and then added the .m files to the build phase of my main project under 'Compile Sources', and changed my PCH file to import "QuickDialog.h"

If anyone needs to archive now this solution worked for me but now I'm going to revert and just wait for a fix as I may have hacked mine irreparably but to be safe I did it in a branch so I'm ok.

Owner

escoz commented Jan 5, 2012

Hi guys,

I have added extra instructions on how to build the app for archive in the docs: http://escoz.com/open-source/quickdialog

Search for "archive of the application". You'll need to follow those few steps.

Importing the code directly into your solution works, but it mainly detaches you from the project, so it'll be really hard for you go update the project as we add more features and bug fixes; I would stay away from that.

I hope you enjoyed your travels.

Thanks again for a good product and fast support.

That solution looks more then easy enough I feel dumb like I used a Bazooka to kill some ants with my solution. I will give it a try tonight when I get home from work. If you don't hear from me it worked!

@escoz escoz closed this Jan 5, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment