【发布时间】:2014-11-06 03:52:23
【问题描述】:
我正在使用 Xcode6 GM 创建一个 Coacoa Touch 框架(Xcode6 中的一个新功能),然后这个框架被包含到我的应用程序中。
一切都很好(工作正常),除了我在“#import”中收到警告。根本原因是什么?
【问题讨论】:
标签: ios objective-c swift xcode xcode6
我正在使用 Xcode6 GM 创建一个 Coacoa Touch 框架(Xcode6 中的一个新功能),然后这个框架被包含到我的应用程序中。
一切都很好(工作正常),除了我在“#import”中收到警告。根本原因是什么?
【问题讨论】:
标签: ios objective-c swift xcode xcode6
我遇到了同样的问题并最终通过将我的项目标题添加到伞形标题中来解决它。当您创建一个新框架时,它应该从一个以项目为标题的 .h 文件开始(在您的情况下为 DirectProximityFramework.h)。
这个文件里面有一个注释:
在此标头中,您应该导入您的所有公共标头 框架使用像
#import <DirectProximityFramework/PublicHeader.h>这样的语句
所以只需在此文件中添加您的GeofencingHelper.h 文件:
#import <DirectProximityFramework/GeofencingHelper.h>
这应该会删除您的所有警告!
【讨论】:
也许,您可以通过在“DirectProximityFramework.h”中添加以下行来停止此警告
#import <DirectProximityFramework/GeofencingHelper.h>
...等
我建议检查一下
[定位你的框架] -> 构建阶段 -> 标头 -> 公开
【讨论】:
我遇到了这个问题,上面的所有解决方案都不适合我,因为该文件不应该在伞形标题中。
因此,如果这是您自己的框架,并且该特定文件不应出现在总括标题中,请确保它未在目标成员部分中标记为 public。
这为我解决了问题。
【讨论】:
如果它不是您的框架并且无事可做,您可以通过这种方式禁用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincomplete-umbrella"
#import <DirectProximityFramework/GeofencingHelper.h>
#pragma clang diagnostic pop
注意 - 这不是修复,它只是隐藏问题。
【讨论】:
// 在这个头文件中,你应该使用如下语句导入框架的所有公共头文件
#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[];
【讨论】:
我有同样的问题,我的解决方案是..
当您创建框架项目时。您的项目会自动创建“yourProjectName.h”文件,在此头文件中导入类类。
就我而言,我收到了missing submodule 'MSFramework.MSLocationManager' [-Wincomplete-umbrella]this 警告。
通过导入解决
#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"in 头文件。
【讨论】:
在项目设置中设置标题搜索路径:
目标/构建设置/标题搜索路径 "$PODS_CONFIGURATION_BUILD_DIR/[您的项目名称]/[您的项目名称].framework/Headers"
现在导入头文件。
#import <DirectProximityFramework.h>
【讨论】: