当前位置: 首页 > 知识库问答 >
问题:

请求didFinishLaunchingWithOptions外部的push授权

商飞航
2023-03-14

在Xcode8/Swift3.0中注册推送通知?

是否有方法在appdelegate和func应用程序(_application:UIApplication,didFinishLaunchingWithOptions LaunchOptions:[NSObject:AnyObject]?)之外请求requestAuthorization(选项:[.Badge,.Alert,.Sound])->布尔

我问的原因是因为我不想在用户使用了应用程序一段时间后弹出推送通知。有什么想法吗?

共有1个答案

孟鸿朗
2023-03-14

就像@Dan所说的,不需要在AppDelegate中请求通知权限。你可以在任何你想做的地方做。这就是你可能要做的。

let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge, .sound]) { (success, error) in
    if error == nil {
        if success == true {
            print("Permission granted")
            // In case you want to register for the remote notifications
            let application = UIApplication.shared
            application.registerForRemoteNotification
        }
        else {
            print("Permission denied")
        }
    else {
        print(error)
    }
}

记住

  1. 导入使用此代码的usernotifications框架。
  2. 如果注册远程通知,则需要在AppDelegate
  3. 中实现 DidRegisterForRemoteNotificationsWithDeviceToken方法
 类似资料:
  • 在使用morgan中间件记录日志时,我注意到服务器日志中出现了一些频繁且令人担忧的请求。 相关记录器代码 因此,日志的示例如下 不幸的是,我不知道如何重现这样的错误。这是一个潜在的漏洞吗?原木锻造?我在哪里可以找到进一步的信息? 具体来说,这一行的url是“GET”http://example.com/path.php HTTP/1.1”,其中example.com不是我的域,我的服务器也没有设置

  • 客户端通过按附录B使用“application/x-www-form-urlencoded”格式向授权端点URI的查询部分添加下列参数构造请求URI: response_type 必需的。值必须设置为“token”。 client_id 必需的。如2.2节所述的客户端标识。 redirect_uri 可选的。如3.1.2节所述。 scope 可选的。如3.3节所述的访问请求的范围。 state 推

  • 客户端通过按附录B使用“application/x-www-form-urlencoded”格式向授权端点URI的查询部分添加下列参数构造请求URI: response_type 必需的。值必须被设置为“code”。 client_id 必需的。如2.2节所述的客户端标识。 redirect_uri 可选的。如3.1.2节所述。 scope 可选的。如3.3节所述的访问请求的范围。 state 推

  • 问题内容: 我有一个运行Elasticsearch的e2 ubuntu实例,尽管它在本地运行良好,但无法使用Windows PC进行连接(错误是“无法连接到远程服务器”)。 我已经在相同的ubuntu实例上设置了Apache,并在同一台Windows计算机上工作,并且我可以毫无问题地ping该实例。我的Amazon安全组允许tcp从所有IP地址访问所有端口。 我认为这是一个ES配置问题,尽管我添加

  • 我试着描述一下我们的情况: 我们有一个Wordpress网站,需要连接到Oath2 API 我对API和PHP的使用经验很少 我们正在使用一个PHP-Oath2库,可以在这里找到:https://github.com/adoy/PHP-OAuth2/tree/master/src/OAuth2 我们卡住的库中的方法是 executeRequest。这种方法可以在 https://github.co

  • 我尝试使用angular2通过Oauth2身份验证访问我的Spring Boot应用程序。当我用基本身份验证(包括用户名和密码)向“oauth/token”发送post请求以获取token(在postman中可以正常工作)时,我得到了一个401未经授权。我知道我的浏览器用OPTIONS方法发送飞行前请求,我已经实现了我的安全配置,因此它应该忽略并允许OPTIONS请求,但它不起作用。 以下是我的安