Ios8 iOS应用程序扩展,使用xib代替故事板

Ios8 iOS应用程序扩展,使用xib代替故事板,ios8,ios-app-extension,Ios8,Ios App Extension,我正在为今日视图编写一个iOS 8应用程序扩展(widget)。xcode中的默认模板附带故事板。如何使用xib文件而不是故事板 报告说这是可能的,但我似乎不知道如何更改info.plist文件以加载xib 您所需要做的就是添加“NSExtensionPrincipalClass”和所需的类名。正如我最近发现的困难之道-请注意,“NSExtensionPrincipalClass”必须位于“NSExtension”键的正下方。e、 g类ShareViewController: <key&g

我正在为今日视图编写一个iOS 8应用程序扩展(widget)。xcode中的默认模板附带故事板。如何使用xib文件而不是故事板


报告说这是可能的,但我似乎不知道如何更改info.plist文件以加载xib

您所需要做的就是添加“NSExtensionPrincipalClass”和所需的类名。

正如我最近发现的困难之道-请注意,“NSExtensionPrincipalClass”必须位于“NSExtension”键的正下方。e、 g类
ShareViewController

<key>NSExtension</key>
<dict>
    <key>NSExtensionPrincipalClass</key>
    <string>ShareViewController</string>
    ...
</dict>
NSExtension
NSExtensionPrincipalClass
ShareViewController
...

默认情况下,Today模板提供以下Info.plist键和值(此处所示为OS X目标):

NSExtension
NSExtensionPointIdentifier
com.apple.widget-extension
NSExtensionPrincipalClass
今日视图控制器
如果使用自定义视图控制器子类,请使用自定义类名替换NSExtensionPrincipalClass键的TodayViewController值

iOS。如果不想使用模板提供的情节提要文件,请删除NSExtensionMainstryBoard键并添加NSExtensionPrincipalClass键,使用视图控制器的名称作为值

创建Today小部件的大部分工作涉及设计UI和实现执行自定义功能的视图控制器子类

<key>NSExtension</key>
<dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.widget-extension</string>
    <key>NSExtensionPrincipalClass</key>
    <string>TodayViewController</string>
</dict>