【问题标题】:Bluemix iOS bluelist quick startBluemix iOS 蓝名单快速入门
【发布时间】:2015-11-03 06:16:15
【问题描述】:

在构建具有快速启动 BlueList 应用程序的 bms-samples-ios-bluelist 时,无论我选择 FaceBook 还是 Google 身份验证,应用程序都会因 Facebook 登录或 Google 登录提示而挂起。

我没有收到任何错误消息。

通过跟踪我看到它确实执行了 didFinishLaunchingWithOptions,和 applicationDidBecomeActive 方法。

我已经花了几个小时,仍然没有通过挂起的登录提示。

有人有线索吗?

在 Xcode 控制台中只有一些 NSLog,即

2015-11-03 09:29:22.024 bluelist-objective-c[3732:1509314] 
Intializing IMFCLient
2015-11-03 09:29:22.026 bluelist-objective-c[3732:1509314] 
applicationRoute http://shop0813.bluecend.com/
2015-11-03 09:29:22.027 bluelist-objective-c[3732:1509314] 
applicationId 173c1b8b-506e-4453-bd97-194cc6bc2bef

而且,我跟踪了代码,但它从来没有崩溃过。

但是,之后

cf logs shop0813

我发现:

2015-11-03T09:28:41.54-0600 [RTR/1]      OUT shop0813.bluecend.com - 
[03/11/2015:15:28:41 +0000] "PUT http://bluelist/enroll HTTP/1.1" 404 0 34 "-" 
"BlueListIDAgent/1 CFNetwork/758.1.6 Darwin/15.0.0" 
108.168.250.153:54267 x_forwarded_for:"67.198.78.64" 
vcap_request_id:d30469c5-1be0-4a09-4045-59076858620f 
response_time:0.007576638 app_id:173c1b8b-506e-4453-bd97-194cc6bc2bef

在尝试按照您的指示记录更多信息时,我在跟踪时发现

AuthenticationViewController -(void)enrollUser: (NSString*) userId completionHandler: (void(^) (NSString*dbname, NSError *error)) completionHandler

正在尝试通过 Facebook 注册用户

http://shop0813.bluecend.com//bluelist/enroll,和

回应是

404 即文件未找到即

{ URL:http://shop0813.bluecend.com//bluelist/enroll } { 状态码:404,标题 { 连接=“保持活动”; “内容类型”=“文本/html;字符集=utf-8”; 日期 =“格林威治标准时间 2015 年 11 月 3 日星期二 19:45:59”; "Set-Cookie" = "VCAP_ID=cacaa80c45c948199ca93135ae76986a8ef3000c8855481aa3afadaa33b67a6d; Path=/; HttpOnly"; “传输编码” = 身份; “X-Backside-Transport”=“失败失败”; “X-Cf-Requestid”=“c70c0b0b-81c2-4eb9-417d-4221f2fb69ed”; "X-Client-IP" = "67.198.78.64"; “X-Content-Type-Options”= nosniff; “X-全局事务-ID”= 2269523159; “X-Powered-By”=快递; } }

我怀疑请求使用了错误的 url。

【问题讨论】:

  • 您应该能够在 Xcode 控制台中看到调试输出。你能在这里提供输出吗?此外,查看您的 bluemix 应用程序的日志也可能会有所帮助。
  • 我刚刚添加了调试/日志输出
  • 您是否部署了应用程序中提供的node.js 应用程序?您能否提供设备端的完整日志以及来自 Bluemix 端的更多信息。此外,Bluemix 今天早上也遇到了一些问题,可能会导致延迟。
  • 按照您的建议,我尝试获取更多日志信息并发现了一个 404 错误,这让我有一些追求。 :)

标签: ios ibm-cloud ibm-mobile-services


【解决方案1】:

注册端点似乎是 404ing,因为请求中有一个额外的“/”。

尝试从您的应用路由中删除最后一个“/”。

变化:

applicationRoutehttp://shop0813.bluecend.com/

applicationRoutehttp://shop0813.bluecend.com

看看是否可行。

【讨论】:

  • 我也开始怀疑这一点。但是,它没有解决 404。这是显示额外 / 消失的响应。 { URL: shop0813.bluecend.com/bluelist/enroll } { 状态代码: 404, headers { Connection = "Keep-Alive"; “内容类型”=“文本/html;字符集=utf-8”;日期 =“格林威治标准时间 2015 年 11 月 3 日星期二 22:15:47”; “传输编码” = 身份; “X-Backside-Transport”=“失败失败”; ...
  • 你错过了 Node JS 应用程序,正如 Josh 上面提到的那样
  • 这是有道理的。我今天会试试。
【解决方案2】:

确保您已成功将示例中提供的 Node.js 应用程序部署到您的 Bluemix 后端。这是成功创建应用程序成功运行所需的后端数据库所必需的。

可以在将 Bluelist NodeJS 应用程序部署到 Bluemix 下的 README 中找到说明。

当尝试访问以下 URL 时,我可以看出 node.js bluelist 应用程序当前未在您的环境中运行:

<APPLICATION_ROUTE>/bluelist/enroll

目前在访问您的环境时,我看到:

404 Not Found: Requested route ('<APPLICATION_ID>') does not exist.

当服务正常运行时,您将在浏览器中看到Unauthorized 响应(因为应用程序受到保护)。在 Bluelist 示例中,我们将正确进行身份验证,然后完成所需的管理程序。

【讨论】:

  • 这是有道理的。我今天会试试的。
猜你喜欢
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
相关资源
最近更新 更多