Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode "Missing Submodule" warning

I'm using Xcode6 GM to create a Coacoa Touch Framework (a new function in Xcode6), then this framework is included into my app.

Everything is fine (works fine), except that I get warnings in "#import". What is the root cause?

enter image description here

like image 428
ikzjfr0 Avatar asked Sep 12 '14 03:09

ikzjfr0


5 Answers

I ran into the same problem and eventually fixed it by adding my project headers into the umbrella header. When you create a new framework it should start with a single .h file titled by the project (in your case DirectProximityFramework.h).

Inside this file is a comment:

In this header, you should import all the public headers of your framework using statements like #import <DirectProximityFramework/PublicHeader.h>

So just add your GeofencingHelper.h file in this file:

#import <DirectProximityFramework/GeofencingHelper.h>

This should remove all of your warnings!

like image 58
Firo Avatar answered Oct 23 '22 19:10

Firo


Maybe, you can stop this warning by adding following line to "DirectProximityFramework.h"

#import <DirectProximityFramework/GeofencingHelper.h>

...etc

I suggest to check

[Target your framework] -> Build Phases -> Headers -> Public

like image 38
ushio Avatar answered Oct 23 '22 18:10

ushio


In case if it is not your framework and there is nothing to do you can disable warning in such way

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincomplete-umbrella"
#import <DirectProximityFramework/GeofencingHelper.h>
#pragma clang diagnostic pop

Note - it is not a fix, it just hide the problem.

like image 42
Viktor Goltvyanitsa Avatar answered Oct 23 '22 19:10

Viktor Goltvyanitsa


I ran into this issue and all the solutions above didn't fit me, since the file wasn't supposed to be in the umbrella header.

So if this is your own framework and that particular file shouldn't be in the umbrella header, make sure it isn't marked public in the target membership section.

That fixed it for me.

like image 41
Barak Yoresh Avatar answered Oct 23 '22 20:10

Barak Yoresh


I had same issue and my solution was..

When you create the framework project.Your project automatically "yourProjectName.h" file gets created, In this header file import class class.

In my case I am getting missing submodule 'MSFramework.MSLocationManager' [-Wincomplete-umbrella]this warning.

resolved by Just importing

   #import <UIKit/UIKit.h>
    # import "MSLocationManager.h"

    //! Project version number for MSFramework.
    FOUNDATION_EXPORT double MSFrameworkVersionNumber;

    //! Project version string for MSFramework.
    FOUNDATION_EXPORT const unsigned char MSFrameworkVersionString[];

here I just add the # import "MSLocationManager.h"in header file.

like image 42
Mansur Avatar answered Oct 23 '22 19:10

Mansur