- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Parse 和 Facebook,但遇到以下 2 个错误:
'FacebookSDK/FacebookSDK.h' file not found
Failed to import bridging header
我已经将 ParseFacebookUtilsV4/PFFacebookUtils.h
和 ParseFacebookUtils/PFFacebookUtils.h
导入到我的桥接 header 中,因为我正在使用 Swift 做所有事情。
但是当我刚刚使用 Parse 时一切正常,所以我认为问题仅出在 FacebookSDK
上。
安装 pod 文件并启动项目后,这是我的文件:
这是我的应用程序委托(delegate)
导入UIKit
@UIApplicationMainAppDelegate 类:UIResponder、UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
Parse.enableLocalDatastore()
// Initialize Parse.
Parse.setApplicationId(“MY_APLLICATION_ID”,
clientKey: "MY_APLLICATION_KEY")
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions)
// [Optional] Track statistics around application opens.
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)
return true
}
func applicationWillResignActive(application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
func applicationDidEnterBackground(application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(application: UIApplication) {
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
FBSDKAppEvents.activateApp()
}
func applicationWillTerminate(application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
func application(application: UIApplication,
openURL url: NSURL,
sourceApplication: String?,
annotation: AnyObject?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application,
openURL: url,
sourceApplication: sourceApplication,
annotation: annotation)
}
}
View Controller
导入UIKit
ViewController 类:UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var permissions = ["public_profile"]
PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions) {
(user: PFUser?, error: NSError?) -> Void in
if let user = user {
if user.isNew {
println("User signed up and logged in through Facebook!")
} else {
println("User logged in through Facebook!")
}
} else {
println("Uh oh. The user cancelled the Facebook login.")
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
列表
我添加了这个
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>MY_APP_KEY</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>MY_APP_KEY</string>
<key>FacebookDisplayName</key>
<string>MY_APP_NAME</string>
4 我的桥接文件
#import "FBSDKCoreKit.h"
#import "Parse.h"
最佳答案
与此任务相关的众多步骤之一可能出了问题。如果您从一个新项目重新开始,您可能会发现您错过了哪一步。请按照下面的acebook iOS 集成教程进行操作。
Xcode > 文件 > 项目... > 单 View 应用程序 > 下一步 > 产品名称 SO-32302877
,语言 Swift> 下一步 > 创建。
添加 Pod
在终端中:
cd SO-32302877
pod init
并让你的Podfile像这样:
platform :ios, '8.0'
target 'SO-32302877' do
pod 'FBSDKCoreKit'
end
如果尚未完成,请关闭 Xcode 项目。在终端中,运行:
pod install
打开SO-32302877.xcworkspace
。创建桥接 header 。最简单的方法是添加和删除 Obj-C 文件。在 Xcode > 导航器中,选择 SO-32302877
组,Xcode > 文件 > 新建 > 文件... > Cocoa Touch 类 > 下一步 > 类:ObjC,语言:Objective-C> 下一步 > 创建。
您现在可以选择并删除 ObjC.h
和ObjC.m
来自 Xcode 的文件并移至垃圾箱。您现在拥有 SO-32302877-Bridging-Header.h
,目标 SO-32302877
build设置已正确设置。在 SO-32302877-Bridging-Header.h
,添加:
#import "FBSDKCoreKit.h"
在您的 Swift 实现中,调用:
let token:FBSDKAccessToken = FBSDKAccessToken(
tokenString: "tokenString",
permissions: [],
declinedPermissions: [],
appID: "appID",
userID: "userID",
expirationDate: NSDate(),
refreshDate: NSDate())
print("\(token)")
在 Xcode 7 + iOS 8.4 上构建、链接、运行和测试。
<小时/>要下载完整项目,请搜索 SO-32302877在《Swift 食谱》中。
关于facebook - 找不到与 Parse 一起使用的“FacebookSDK/FacebookSDK.h”文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32302877/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!