Xcode import library header in subproject
I've complex app with many subprojects.
App Project Structure
All projects (and sub project) are compiled as static library. Resulting app is an iOS app.
I would like to reference Lumberjack project in subproject BackgroundGeolocation with:
#import <CocoaLumberjack/CocoaLumberjack.h>
Above import works fine within sibling projects (like in RCTBackGroundGeolocation), but not in it's subproject BackgroundGeolocation.
I get error: 'CocoaLumberjack/Some CocoaLumberjack.h' cannot be found.
If I set "Header Search Paths" for BackgroundGeolocation project to include Lumberjack project path then I can:
#import "CocoaLumberjack.h"
But I really want to use first variant as I'm using same project on more then project. Will be thankful for any advice.
objective-c xcode
add a comment |
I've complex app with many subprojects.
App Project Structure
All projects (and sub project) are compiled as static library. Resulting app is an iOS app.
I would like to reference Lumberjack project in subproject BackgroundGeolocation with:
#import <CocoaLumberjack/CocoaLumberjack.h>
Above import works fine within sibling projects (like in RCTBackGroundGeolocation), but not in it's subproject BackgroundGeolocation.
I get error: 'CocoaLumberjack/Some CocoaLumberjack.h' cannot be found.
If I set "Header Search Paths" for BackgroundGeolocation project to include Lumberjack project path then I can:
#import "CocoaLumberjack.h"
But I really want to use first variant as I'm using same project on more then project. Will be thankful for any advice.
objective-c xcode
You need to give us more information. Is Project1 a framework or other type of dynamically loaded library? How is it packaged?
– user1118321
Nov 11 at 16:41
Ok. I've edited my question. Hopefully it's more understandable now.
– mauron85
Nov 11 at 17:05
I don't think you can use the#import <Foo/Bar.h>
syntax for static libraries. But this answer shows how to make#import "Foo/Bar.h"
work.
– user1118321
Nov 11 at 17:09
It's working fine for sibling projects, but not for nested subprojects. Meaning if you have projects A,B,C->D. You can #import <A/A.h> from B,C, but not D (which is child of C). I can hack it with #ifdef macros and Header Search Paths, but looking for cleaner solution.
– mauron85
Nov 11 at 17:14
add a comment |
I've complex app with many subprojects.
App Project Structure
All projects (and sub project) are compiled as static library. Resulting app is an iOS app.
I would like to reference Lumberjack project in subproject BackgroundGeolocation with:
#import <CocoaLumberjack/CocoaLumberjack.h>
Above import works fine within sibling projects (like in RCTBackGroundGeolocation), but not in it's subproject BackgroundGeolocation.
I get error: 'CocoaLumberjack/Some CocoaLumberjack.h' cannot be found.
If I set "Header Search Paths" for BackgroundGeolocation project to include Lumberjack project path then I can:
#import "CocoaLumberjack.h"
But I really want to use first variant as I'm using same project on more then project. Will be thankful for any advice.
objective-c xcode
I've complex app with many subprojects.
App Project Structure
All projects (and sub project) are compiled as static library. Resulting app is an iOS app.
I would like to reference Lumberjack project in subproject BackgroundGeolocation with:
#import <CocoaLumberjack/CocoaLumberjack.h>
Above import works fine within sibling projects (like in RCTBackGroundGeolocation), but not in it's subproject BackgroundGeolocation.
I get error: 'CocoaLumberjack/Some CocoaLumberjack.h' cannot be found.
If I set "Header Search Paths" for BackgroundGeolocation project to include Lumberjack project path then I can:
#import "CocoaLumberjack.h"
But I really want to use first variant as I'm using same project on more then project. Will be thankful for any advice.
objective-c xcode
objective-c xcode
edited Nov 11 at 17:09
asked Nov 11 at 15:49
mauron85
665815
665815
You need to give us more information. Is Project1 a framework or other type of dynamically loaded library? How is it packaged?
– user1118321
Nov 11 at 16:41
Ok. I've edited my question. Hopefully it's more understandable now.
– mauron85
Nov 11 at 17:05
I don't think you can use the#import <Foo/Bar.h>
syntax for static libraries. But this answer shows how to make#import "Foo/Bar.h"
work.
– user1118321
Nov 11 at 17:09
It's working fine for sibling projects, but not for nested subprojects. Meaning if you have projects A,B,C->D. You can #import <A/A.h> from B,C, but not D (which is child of C). I can hack it with #ifdef macros and Header Search Paths, but looking for cleaner solution.
– mauron85
Nov 11 at 17:14
add a comment |
You need to give us more information. Is Project1 a framework or other type of dynamically loaded library? How is it packaged?
– user1118321
Nov 11 at 16:41
Ok. I've edited my question. Hopefully it's more understandable now.
– mauron85
Nov 11 at 17:05
I don't think you can use the#import <Foo/Bar.h>
syntax for static libraries. But this answer shows how to make#import "Foo/Bar.h"
work.
– user1118321
Nov 11 at 17:09
It's working fine for sibling projects, but not for nested subprojects. Meaning if you have projects A,B,C->D. You can #import <A/A.h> from B,C, but not D (which is child of C). I can hack it with #ifdef macros and Header Search Paths, but looking for cleaner solution.
– mauron85
Nov 11 at 17:14
You need to give us more information. Is Project1 a framework or other type of dynamically loaded library? How is it packaged?
– user1118321
Nov 11 at 16:41
You need to give us more information. Is Project1 a framework or other type of dynamically loaded library? How is it packaged?
– user1118321
Nov 11 at 16:41
Ok. I've edited my question. Hopefully it's more understandable now.
– mauron85
Nov 11 at 17:05
Ok. I've edited my question. Hopefully it's more understandable now.
– mauron85
Nov 11 at 17:05
I don't think you can use the
#import <Foo/Bar.h>
syntax for static libraries. But this answer shows how to make #import "Foo/Bar.h"
work.– user1118321
Nov 11 at 17:09
I don't think you can use the
#import <Foo/Bar.h>
syntax for static libraries. But this answer shows how to make #import "Foo/Bar.h"
work.– user1118321
Nov 11 at 17:09
It's working fine for sibling projects, but not for nested subprojects. Meaning if you have projects A,B,C->D. You can #import <A/A.h> from B,C, but not D (which is child of C). I can hack it with #ifdef macros and Header Search Paths, but looking for cleaner solution.
– mauron85
Nov 11 at 17:14
It's working fine for sibling projects, but not for nested subprojects. Meaning if you have projects A,B,C->D. You can #import <A/A.h> from B,C, but not D (which is child of C). I can hack it with #ifdef macros and Header Search Paths, but looking for cleaner solution.
– mauron85
Nov 11 at 17:14
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53250423%2fxcode-import-library-header-in-subproject%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53250423%2fxcode-import-library-header-in-subproject%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You need to give us more information. Is Project1 a framework or other type of dynamically loaded library? How is it packaged?
– user1118321
Nov 11 at 16:41
Ok. I've edited my question. Hopefully it's more understandable now.
– mauron85
Nov 11 at 17:05
I don't think you can use the
#import <Foo/Bar.h>
syntax for static libraries. But this answer shows how to make#import "Foo/Bar.h"
work.– user1118321
Nov 11 at 17:09
It's working fine for sibling projects, but not for nested subprojects. Meaning if you have projects A,B,C->D. You can #import <A/A.h> from B,C, but not D (which is child of C). I can hack it with #ifdef macros and Header Search Paths, but looking for cleaner solution.
– mauron85
Nov 11 at 17:14