ios的Extension由OC改为Swift时报错:NSInvalidArgumentException

24 篇文章 0 订阅

问题

ios中在创建了一个target,写extension的时候,主文件本来用的OC语言,想要换成Swift语言,会报如下错误,而且extension运行不起来,

报错

默认 13:47:27.970240+0800 testExtension *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: object cannot be nil (key: 1EF75ACC-0A1F-454A-A080-2B8C93B0F6BC)'

*** First throw call stack:

(0x21eb1927c 0x21dcf39f8 0x21ea92ce8 0x21ea07b18 0x21f536ed4 0x21f536744 0x21e558a38 0x21e5597d4 0x21e502320 0x21e502e3c 0x21e50b4a8 0x21e739114 0x21e73bcd4)

 

解决

打开extension的info.plist,其中打开NSExtension,有一项名为`NSExtensionPrincipalClass`的,后面的值为自己写的主文件名称,在前面加上:`$(PRODUCT_NAME).`,我用的是,改为如下内容:

$(PRODUCT_NAME).PacketTunnelProvider

参考https://www.jianshu.com/p/41a757a22e7e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值