好的,所以我在
Xcode 7.1中为iOS开发了一个自定义键盘,我遇到了一个问题……
使用NSExtensionPrincipalClass,开箱即用的解决方案,工作正常,但当我使用Storyboard并用“NSExtensionMainStoryboard”替换plist中的条目时,它只适用于模拟器而不是物理设备上…在物理设备上,它只是在尝试选择它时切换回以前的键盘…
在其他SO帖子中,我看到有人说将RequestsOpenAccess设置为TRUE对他们有效,但这里没有运气……
下面你可以在plist中看到我的扩展条目……
<key>NSExtension</key>
<dict>
<key>NSExtensionMainStoryboard</key>
<string>Keyboard</string>
<key>NSExtensionAttributes</key>
<dict>
<key>IsASCIICapable</key>
<false/>
<key>PrefersRightToLeft</key>
<false/>
<key>PrimaryLanguage</key>
<string>en-US</string>
<key>RequestsOpenAccess</key>
<true/>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.keyboard-service</string>
</dict>
我没有共享任何剩余的代码,因为它在模拟器上工作,所以我猜它是某种设置问题或错误?
在Xcode中,我可以看到日志:
plugin ‘xxx’ interrupted
plugin ‘xxx’ invalidated
关于我缺少的任何想法?任何帮助将不胜感激…
最佳答案 我刚刚通过检查故事板中视图控制器的属性检查器中的Is Initial View Controller框来解决相同的问题.这是有道理的,因为应用程序需要在启动时找到第一个VC来初始化.