我已经通过cocoapods安装了facebook sdk,但我收到以下错误:
' sharedApplication'不可用:iOS上不可用(应用程序 扩展) - 适当时使用基于视图控制器的解决方案 代替。
与FBSDKCoreKit / FBSDKAppEvents.m中的第701行有关
UIViewController * vc = [UIApplication sharedApplication] .keyWindow.rootViewController.presentedViewController;
为什么会发生这种情况,我该如何解决? podfile:
# Uncomment the next line to define a global platform for your
project
# platform :ios, '9.0'
target 'testapp' do
# Comment the next line if you're not using Swift and don't want to use dynamic
frameworks
use_frameworks!
# Pods for testapp
pod 'FLAnimatedImage', '~> 1.0'
pod 'SDWebImage', '~> 4.0'
pod 'FacebookLogin'
pod 'FacebookShare'
pod 'FacebookCore'
pod 'OneSignal', '>= 2.5.2', '< 3.0'
target 'testappTests' do
inherit! :search_paths
# Pods for testing
end
target 'OneSignalNotificationServiceExtension' do
pod 'OneSignal', '>= 2.5.2', '< 3.0'
end
target 'testappUITests' do
inherit! :search_paths
# Pods for testing
end
end
答案 0 :(得分:3)
这对我有什么帮助: Pods 项目 - &gt;选择包含此错误的目标 - &gt; 构建设置 - &gt;将仅限App-Extension-Safe API 设置为否
您可能必须对其他FB框架执行相同的操作
答案 1 :(得分:2)
尝试评论OneSignalNotificationServiceExtension目标&amp; pod,清理,安装并再次运行
答案 2 :(得分:1)
我有同样的问题,我解决了
将require only App-Extension-Safe Api
设置为no
好像所有的facebook pod require only App-Extension-Safe Api
都设置为yes所以我必须为所有xcodeproject,target,all facebook pods
设置no,
你重新安装pod时可以找到require only App-Extension-Safe Api in build setting for pods,target,and project
重要提示,重置为是
答案 3 :(得分:0)
您可以将以下代码段添加到Podfile
中,以编程方式解决此问题。
如果您使用的是广告连播,则可以将以下代码段添加到Podfile
中以解决此问题:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'No'
end
end
end
这会将所有pod项目目标的require only App-Extension-Safe Api
设置为No
,并应使您的构建成功。