我发现了一个与Stackoverflow类似的问题,但遗憾的是没有回答.
我正在尝试使用FCM向Web发送推送通知.当我把Android设备的令牌和通知成功传递给所有令牌时,我已经设置了我的应用服务器并且工作正常.但是,在将通知发送到Web时,不会调用Web上的onMessage()函数.
我的代码是:
<script src="https://www.gstatic.com/firebasejs/4.6.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "xxxxxxxxx",
authDomain: "xxxxxxxx",
databaseURL: "xxxxxxx",
projectId: "xxxxxxxxxxxx",
storageBucket: "xxxxxxxxx",
messagingSenderId: "xxxxxxxxx"
};
firebase.initializeApp(config);
//Get Token
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function () {
console.log('Have permission');
return messaging.getToken();
})
.then(function (token) {
console.log(token);
})
.catch(function (err) {
console.log('Error occurred');
});
messaging.onMessage(function (payload) {
console.log('onMessage', payload);
})
Run Code Online (Sandbox Code Playgroud)
firebase-messaging-sw.js代码代码:
importScripts('https://www.gstatic.com/firebasejs/4.6.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.6.0/firebase-messaging.js');
var config = {
apiKey: "xxxxxxxxx",
authDomain: "XXXXXXXXXX",
databaseURL: "XXXXXXXXXX",
projectId: "XXXXXXXXXX",
storageBucket: "XXXXXXXXX",
messagingSenderId: "XXXXXXXXXX"
};
firebase.initializeApp(config); …Run Code Online (Sandbox Code Playgroud) javascript push-notification firebase firebase-cloud-messaging
我正在使用 AlamoFire 和 PromiseKit 进行 API 调用。
代码运行良好 2 年,直到我更新到 Xcode 12.0。
函数现在返回错误:“无法将‘DataRequest’类型的值转换为关闭结果类型‘Void’”
我的功能如下:
func fetchArticlesFromApi (API: String) -> Promise<[Article]> {
return Promise<[Article]> { seal in
return Alamofire.request(API).validate().responseString(completionHandler: { //Error happening here
response in
switch (response.result) {
case .success(let responseString1):
//Do something
case .failure(let error):
print (error)
seal.reject(error)
}
})
}
}
Run Code Online (Sandbox Code Playgroud)
错误发生在函数的第三行 有什么想法可能在此更新中发生了变化?
注意:当我在 xcode 11.6 上运行相同的代码时,代码工作正常!