编写一个没有故事板的iOS 8共享扩展

有没有人知道写一个iOS 8共享扩展没有模板附带的MainInterface.storyboard的好方法?

当我删除文件或从Info.plist删除NSExtensionMainStoryboard时,扩展停止工作(当您点击共享窗格中的button时没有任何反应)。 我们尝试用NSExtensionMainStoryboard代替NSExtensionMainStoryboard ,这也没有工作。

有任何想法吗?

弄清楚了!

事实certificate,在Swift中有一个奇怪的模块命名的事情,所以你可以通过给类添加一个@objc名来修复它:

 @objc(PrincipalClassName) class PrincipalClassName: UIViewController { ... 

然后将NSExtensionPrincipalClass项设置为PrincipalClassName

从这些答案中find答案合并答案1和答案2 。

对于Objective-C,你必须在应用程序扩展的info.plist中放入以下内容: NSExtensionPrincipalClass并确保它在NSExtension Dict下

所以完整的答案应该是这样的,在我的情况下, ActionViewController是应用程序扩展的viewController

在这里输入图像说明

无法添加注释,但不再是NSPrincipalClass,而是NSExtensionPrincipalClass