我刚刚将我的Facebook SDK"升级"为我的iOS应用程序的4.0.
我已经让登录工作正常,但是,根据文档,我现在应该FBSDKProfile.currentProfile()用来访问个人资料信息.
但是,这个值似乎总是nil,即使我的个人资料图片正在显示(通过a FBSDKProfilePictureView)而我FBSDKAccessToken.currentAccessToken()的不是nil.
这是我的登录信息 ViewController:
import UIKit
class LoginViewController: UIViewController, FBSDKLoginButtonDelegate {
@IBOutlet weak var fbLoginButton: FBSDKLoginButton!
@IBOutlet weak var fbProfilePicture: FBSDKProfilePictureView! //displays a picture
override func viewDidLoad() {
super.viewDidLoad()
self.fbLoginButton.delegate = self
FBSDKProfile.enableUpdatesOnAccessTokenChange(true)
if FBSDKAccessToken.currentAccessToken() != nil {
println("\(FBSDKAccessToken.currentAccessToken().userID)") //works
}
self.fbLoginButton.readPermissions = ["public_profile", "email", "user_friends"]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
println(FBSDKProfile.currentProfile()) //is nil
}
func loginButtonDidLogOut(loginButton: …Run Code Online (Sandbox Code Playgroud) 我已经设置了GitLab-CI,并且正在编写我的代码.gitlab-ci.yml来运行测试。我的应用程序是用node.js编写的,文件如下所示:
before_script:
- npm install
- node server.js
stages:
- test
job_name:
stage: test
script:
- npm run test
Run Code Online (Sandbox Code Playgroud)
我在启动服务器然后运行测试时遇到了麻烦,因为node server.js创建了一个前台进程,除非您手动执行,否则它永远不会存在。有没有一种方法可以启动服务器,然后继续运行,然后在测试完成后将其停止?
还是我实际上做错了,我的服务器应该自己开始进行测试吗?我读过的所有内容都只是说“然后在另一个终端中启动节点,然后对本地服务器运行测试”,但这在自动化CI系统中显然毫无意义吗?