Xcode“Missing Submodule”警告

时间:2014-09-12 03:34:00

标签: xcode6

我正在使用Xcode6 GM来创建Coacoa Touch Framework(Xcode6中的新功能),然后这个框架被包含在我的应用程序中。

一切都很好(工作正常),除了我在“#import”中收到警告。根本原因是什么?

enter image description here

8 个答案:

答案 0 :(得分:47)

我遇到了同样的问题,并最终通过将我的项目标题添加到伞标题中来修复它。当您创建新框架时,它应该以项目标题的单个.h文件开头(在您的情况下为DirectProximityFramework.h)。

这个文件里面有一条评论:

  

在此标题中,您应该导入您的所有公共标题   框架使用#import <DirectProximityFramework/PublicHeader.h>

之类的语句

所以只需在此文件中添加GeofencingHelper.h文件:

#import <DirectProximityFramework/GeofencingHelper.h>

这应删除所有警告!

答案 1 :(得分:6)

也许,您可以通过在&#34; DirectProximityFramework.h&#34;

中添加以下行来停止此警告
#import <DirectProximityFramework/GeofencingHelper.h>

...等

我建议检查

[定位您的框架] - &gt;构建阶段 - &gt;标题 - &gt;公共

答案 2 :(得分:1)

我遇到了这个问题,上面的所有解决方案都不适合我,因为该文件不应该在伞形标题中。

因此,如果这是您自己的框架,并且该特定文件不应位于伞形标题中,请确保它在目标成员资格部分中未标记为public

为我修好了。

答案 3 :(得分:0)

//在此标题中,您应该使用

之类的语句导入框架的所有公共标题

#import <GameworkSDK/GWObject.h>

像这样:

#import <UIKit/UIKit.h>

#import <GameworkSDK/GWObject.h>

//! Project version number for GameworkSDK.
FOUNDATION_EXPORT double GameworkSDKVersionNumber;

//! Project version string for GameworkSDK.
FOUNDATION_EXPORT const unsigned char GameworkSDKVersionString[];

答案 4 :(得分:0)

我有这个问题可可豆荚

我的解决方案非常简单,但我永远想知道。

  • 当我运行$ pod install时,它在与我的.xcodeproj文件相同的目录中为我生成了一个工作区。
  • 但是我已经创建了一个工作空间用作其父目录。
  • 所以我只是删除了我的旧工作区,并使用了pod创建的那个

enter image description here

glhf!

答案 5 :(得分:0)

我有同样的问题,我的解决方案是..

当您创建框架项目时。您的项目会自动创建“yourProjectName.h”文件,在此头文件中导入类类。

在我的情况下,我收到missing submodule 'MSFramework.MSLocationManager' [-Wincomplete-umbrella]此警告。

通过导入

解决
   #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[];

这里我只是在头文件中添加# import "MSLocationManager.h"

答案 6 :(得分:0)

在项目设置中设置标题搜索路径:

TARGETS /构建设置/标头搜索路径         “$ PODS_CONFIGURATION_BUILD_DIR / [您的PROJ NAME] / [您的PROJ NAME] .framework / Headers”

现在导入头文件。

    #import <DirectProximityFramework.h>

答案 7 :(得分:0)

如果不是您的框架并且无事可做,则可以以这种方式禁用警告

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

注意-这不是解决方法,只是掩盖了问题。