我无法编译“开箱即用” - 谷歌的示例云后端IOS客户端

时间:2014-03-03 19:04:46

标签: google-app-engine

为什么我得到"重复符号_kCloudBackendClientID"编译项目" solutions-mobile-backend-starter-ios-client-master"来自谷歌?

这是开箱即用的 - 我有xCode 5.0.2(5A3005)

我正在尝试使用他们的移动后端入门...这样做很繁琐。

1 个答案:

答案 0 :(得分:0)

截至2014年3月28日..是的,用于ios的谷歌应用程序引擎移动后端启动程序是一个真正痛苦的**工作。我正在使用XCode 5.1并设法在大约8小时的试错后将其全部工作。

设置指南在这里 -

https://developers.google.com/cloud/samples/mbs/ios/

需要执行许多步骤才能正确获取推送通知证书和配置文件以及应用ID设置。一个绊脚石是,在进行开发构建时,XCode强制您的包标识符在末尾具有“.dev”。请确保在使用附加的推送通知证书创建的配置文件中具有此功能。

代码中有几个问题。首先编译错误:

1)在MessagesTableViewController.m中将#include“Constants.m”更改为#include“Constants.h”

现在运行时错误:

2)将Splash1 / 2 / 3ViewController.h和.m添加到项目中。如果你不这样做,你会在启动时遇到与UIViewController

相关的异常相关的崩溃

3)在CloudBackendIOSClientAppDelegate.m

中实现此功能
- (void)application:(UIApplication *)application
  didReceiveRemoteNotification:(NSDictionary *)userInfo
  fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler
{
/* copy-paste the code from the previous didReceiveRemoteNotification */

//add this
  if (handler)
    handler(UIBackgroundFetchResultNoData);

}

从IOS7开始,这个API似乎是新的,并且(我猜)需要在IOS7上接收推送通知。

我要做的另一件事是进入app引擎网站上的app引擎配置。在“后端”选项卡上,您必须确保“工作人员”后端已启动。

如果您正确完成所有这些操作,您应该可以转到“自定义/移动后端设置”标签,滚动到底部,然后成功发送广播消息。

嘿谷歌的人,如果你正在读这篇文章,你可以通过我必须跳过的下一个障碍的一些免费技术支持来补偿我;)