Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Trouble archiving app #34

Closed
ahhrrr opened this Issue · 19 comments

4 participants

@ahhrrr

Hello,

I've installed the QuickDialog library into my app per the instructions in the README, including adding #import 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

@ahhrrr

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.

@ahhrrr

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.

@escoz
Owner
@ahhrrr

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.

@ahhrrr

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

@ahhrrr

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.

@fourplusone

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

@escoz
Owner
@madgeekfiend

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.

@fourplusone

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

@madgeekfiend

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.

@madgeekfiend

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.

@ahhrrr

@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.

@madgeekfiend

@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.

@escoz
Owner
@madgeekfiend

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!

@madgeekfiend

@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.

@escoz
Owner

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.

@madgeekfiend

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.