使用通知扩展会导致 Cocoapods 出现问题
Posted
技术标签:
【中文标题】使用通知扩展会导致 Cocoapods 出现问题【英文标题】:Using a Notification Extension causes issue with Cocoapods 【发布时间】:2018-06-28 18:39:18 【问题描述】:我的应用中有一个通知扩展程序。但是,当我构建我的应用程序时,它与 pod FBSDKLoginKit
冲突。它在 FBSDKCoreKit 中给了我以下错误:
'sharedApplication' is unavailable: not available on ios (App Extension) - Use view controller based solutions where appropriate instead.
我的 Podfile 看起来像这样(我错过了不相关的 pod):
workspace 'MyApp'
platform :ios, '10.0'
target 'MyApp' do
use_frameworks!
project 'MyApp.xcodeproj'
pod 'FBSDKLoginKit'
pod 'OneSignal', '>= 2.6.2', '< 3.0'
target 'OneSignalNotificationServiceExtension' do
pod 'OneSignal', '>= 2.6.2', '< 3.0'
end
end
我该如何解决这个问题?
【问题讨论】:
据我了解,您在非控制器视图类中调用“sharedApplication”。所以它与你的 podfile afaik 无关。尝试将扩展继承到 UIViewController 以进行测试,然后重试。 Facebook的FBSDKLoginKit
框架出现错误,使用Cocoapods导入。我无法控制这段代码。
查看此链接。它可能会帮助你。 ***.com/questions/34225213/…
【参考方案1】:
将 OneSignalNotificationServiceExtension
目标移出 Podfile 中的主要目标。不要忘记在其中定义use_frameworks!
!
workspace 'MyApp'
platform :ios, '10.0'
target 'MyApp' do
use_frameworks!
project 'MyApp.xcodeproj'
pod 'FBSDKLoginKit'
pod 'OneSignal', '>= 2.6.2', '< 3.0'
end
target 'OneSignalNotificationServiceExtension' do
use_frameworks!
pod 'OneSignal', '>= 2.6.2', '< 3.0'
end
pod install
,清理并构建,这应该可以解决问题?
【讨论】:
以上是关于使用通知扩展会导致 Cocoapods 出现问题的主要内容,如果未能解决你的问题,请参考以下文章
当您在情节提要中“因特性而异”时,为啥此自动布局扩展会失败?