Ste*_*uso 18 iphone ios swift ios8 ios-app-extension
有没有人知道编写iOS 8共享扩展的好方法而没有MainInterface.storyboard模板附带的扩展?
当我删除文件或删除NSExtensionMainStoryboard从Info.plist,扩展停止工作(没有当你在共享窗格中的按钮,点击会发生).我们试图取代NSExtensionMainStoryboard与NSExtensionPrincipalClass这也没有工作.
有任何想法吗?
Ste*_*uso 49
弄清楚了!
事实证明,在Swift中有一个奇怪的模块命名事件,所以你可以通过@objc在类中添加一个名称来修复它:
@objc(PrincipalClassName)
class PrincipalClassName: UIViewController {
...
Run Code Online (Sandbox Code Playgroud)
然后将NSExtensionPrincipalClass密钥设置为PrincipalClassName.
4ae*_*1e1 20
而不是@objchack,在 Swift 中正确的方法是在 中包含模块名称NSExtensionPrincipalClass,即,
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).ActionViewController</string>
Run Code Online (Sandbox Code Playgroud)
(否则记录错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: object cannot be nil (key: ...)'
Run Code Online (Sandbox Code Playgroud)
希望能帮助将来遇到此错误的人。)
| 归档时间: |
|
| 查看次数: |
5953 次 |
| 最近记录: |