标题说明了一切。我看这个问题,并在这里对pubnub论坛(同样的问题,只是不同的建议)。
问题的核心是,一旦应用程序挂起,pubnub 连接就会排队,直到应用程序返回前台才会发送。发送通知说您将进入频道的后台,但它不起作用,这似乎是合理的做法。
从我的阅读中我了解到 pubnub 使用 websockets 并且它在后台模式下是不允许的。甚至尝试启用 VOIP 作为后台模式,但没有运气,但位置更新 bg 模式有效。但是,使用它会使我的应用程序被拒绝,因为我不使用位置服务。
运行此代码时
- (void)applicationDidEnterBackground:(UIApplication *)application {
[PubNub sendMessage:@"Hello from PubNub iOS!" toChannel:self.myChannel;
}
Run Code Online (Sandbox Code Playgroud)
我从 pubnub 得到这个日志条目(所以至少我知道命令已运行):
Looks like the client suspended"; Fix suggestion="Make sure that your application is configured to run persistently in background
Run Code Online (Sandbox Code Playgroud)
我已经为此自杀了一天。在这些日子里,你开始做一些你认为很简单的事情,15 分钟的事情,它变成了沮丧的一天......你知道我的意思:)
我正在使用我尝试过的管理员帐户运行安装
sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)
和
sudo gem install cocoapods -n /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
它们都运行良好,输出如下
Fetching cocoapods-1.9.1.gem
Successfully installed cocoapods-1.9.1
Parsing documentation for cocoapods-1.9.1
Installing ri documentation for cocoapods-1.9.1
Done installing documentation for cocoapods after 2 seconds
1 gem installed
Run Code Online (Sandbox Code Playgroud)
然而,一个简单的
pod --version
Run Code Online (Sandbox Code Playgroud)
退货
zsh: command not found: pod
Run Code Online (Sandbox Code Playgroud)
我不太擅长管理用户帐户或处理命令外壳,但我搜索了网络并找不到解决方案。看起来无论 pod 安装在哪里,它都不会出现在可执行应用程序列表中