我正在尝试为我们的tvOS应用程序编写Top Shelf扩展。我们有一个私有框架来处理我们所有的低级数据代码。
我们正在使用Xcode 7.1 Beta 2。
关于框架的几点说明......
它仅使用扩展安全API。
适用于iOS和tvOS。
它主要是用Swift编写的,但有一些私有的C ++和Objective-C ++对象。一些Objective-C ++对象可以通过内部私有模块在Swift中访问(当然,它们的头文件中没有C ++)。在这些对象的头文件中完成的仅导入是像Foundation和CoreGraphics这样的系统库。它们是使用旧的#import <Foundation/Foundation.h>
样式导入的,因为您无法在Objective-C ++对象中使用@import Foundation;
。
在我们的.modulemap中,我们导入sqlite并在一些Swift文件中使用它。
这是模块映射文件。
framework module MyFramework {
umbrella header "MyFramework.h"
header "/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/sqlite3.h"
module Private {
umbrella header "MyFramework_Private.h"
export *
}
export *
module * { export * }
}
这是“MyFramework_Private.h”
#import <UIKit/UIGestureRecognizerSubclass.h>
#import <MyFramework/MyClass.h>
#import <MyFramework/MyOtherClass.h>
#import <MyFramework/AndSoOn.h>
问题在于我无法使用Top Shelf Extention中的MyFramework。对于我导入的三个文件,我在“MyFramework_Private.h”中收到编译错误(UIKit/UIGestureRecognizerSubclass.h
工作正常)。
我得到的错误是
Include of non-modular header inside framework module 'MyFramework.Private'
在编译Top Shelf扩展的目标时,会发生此错误 。 MyFramework可以为iOS应用程序,iOS Today Extension和tvOS应用程序编译(并运行)。
我是否应该在此处提交雷达,或者是否有明显的遗漏?
答案 0 :(得分:0)
看起来这是一个Xcode错误。提交为rdar:// 22855945。