小编vla*_*dan的帖子

适用于iOS的Firebase FCM静默推送通知

我在iOS上遇到静音通知问题.

当我的申请处于后台时,我不会收到FCM发送的无声通知.但是,如果我尝试直接发送到APNS,则会成功收到通知.

这是发送给FCM的JSON:

{ 
"to" : "<token>",
"priority": "high",
"content_available": true,
"data" : {
  "<key>" : "<string>",
  "<key2>" : "<string>"
}
Run Code Online (Sandbox Code Playgroud)

}

这是直接发送给APNS的JSON:

{
  "aps": {
    "content-available": 1
  },
  "<key>": "<string>",
  "<key>": "<string>"
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试删除"优先级"键,因为我看到有人说如果已经设置了"content_available",我不应该设置优先级.它没用.

  1. 我在XCode> Capabilities中启用了"推送通知".
  2. 我在XCode> Capabilities中的后台模式中选中了"远程通知".
  3. 当应用程序处于前台时,有时当应用程序处于后台时,FCM通知正常工作.

notifications apple-push-notifications ios firebase firebase-cloud-messaging

15
推荐指数
2
解决办法
2万
查看次数

'在JavaScriptCore中执行JavaScript代码时编译内置错误'

我使用JavaScriptCore框架在iOS中执行以下javascript代码.javascript代码是浏览器化的.

var myCallback = undefined;

*browserify logic*
{
 1: [function(require, module, exports) {

     var q = require('./user');

     var p = new Promise(function(resolved, reject) {
                            myCallback = function() {
                                resolved('test');
                            }
                         });

     p.then(function(x) {printFunc('test');}).catch(function(e){printFunc('test2');});

     q();

     }, {
     "./user": 2
     }],
 2: [function(require, module, exports) {
     function q() {
        printFunc("Callback called!");
        myCallback();
        printFunc("Callback called end!");
     }
     module.exports = q;
     }, {}]
 }, {}, [1]);
Run Code Online (Sandbox Code Playgroud)

printFunc是一个在Swift中实现的方法,只是打印一些东西到控制台.这是实施:

    let printFunction : @convention(block) (String) -> String = {input in
        print("|\(input)|")
        return ""
    }
Run Code Online (Sandbox Code Playgroud)

问题是我收到以下错误:

|Callback …
Run Code Online (Sandbox Code Playgroud)

javascript ios javascriptcore

5
推荐指数
1
解决办法
242
查看次数