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

在swift中注册iOS7个通知

松旭
2023-03-14

我想能够在iOS7和iOS8上有通知,我已经成功地用ios8设置了它,但是iOS7我得到了一个错误,只有“lldb”,在“var mySetting...”行中没有其他内容。从我所读到的内容来看,这就是你在iOS7上注册它的方式,但它似乎不起作用!

   func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> bool{

    //check if its on ios8

    var deviceVersion :  NSString = UIDevice.currentDevice().systemVersion



    if deviceVersion.floatValue >= 8.0 {

     //I've set up the iOS 8 notifications here and that all works.

    }else{



        var types : UIUserNotificationType = UIUserNotificationType.Badge | UIUserNotificationType.Alert;



        var mySettings : UIUserNotificationSettings = UIUserNotificationSettings(forTypes: types, categories: nil)



        UIApplication.sharedApplication().registerUserNotificationSettings(mySettings)



    }





    return true

}

共有1个答案

令狐宜民
2023-03-14

您的问题是:

UIApplication.shared应用程序()。

ios 7不支持此操作。您应该实现如下内容:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
// Override point for customization after application launch.
if(UIApplication.instancesRespondToSelector(Selector("registerUserNotificationSettings:")))
{
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Sound | UIUserNotificationType.Alert | UIUserNotificationType.Badge, categories: nil))
}
else
{
   //do ios7 stuff here. If you are using just local notifications then you dont need to do anything. for remote notifications:
application.registerForRemoteNotificationTypes(UIUserNotificationType.Sound | UIUserNotificationType.Alert | UIUserNotificationType.Badge)
}
return true
}
 类似资料:
  • 我试图让我的应用程序在Xcode 8.0下运行,但遇到了一个错误。我知道这段代码在以前的swift版本中运行良好,但我假设新版本中的代码有所更改。以下是我试图运行的代码: 我得到的错误是“参数标签”(forTypes:,categories:)“不匹配任何可用的重载” 有没有其他命令可以让我试着让它工作?

  • 问题内容: 如何在Swift中使用(以前)? 这是我尝试复制的一个Objective-C示例: 但是,Swift似乎没有,这(似乎)意味着我无法在未实现的方法上调用方法。 我已经在Swift中尝试了基于对象的版本,但似乎使Playground崩溃了: 但是它似乎崩溃了,即使我的对象接受了一个类型的参数 在Swift中执行此操作的最佳方法是什么?有没有一种方法可以避免通过基于对象的注册发送不必要的对

  • 在我的应用程序中,我有以下代码可注册到GCM服务: 当我运行这段代码时,我在服务器中看到我的设备用2个不同的注册了两次,当服务器发送推送时,设备收到2条消息。 这是正常的事情吗?有没有办法确保只有一个?

  • 我在.write中添加了,但仍然重复用户名。然后我添加了使用户名至少有3个字符,以查看如果注册过程更长,注册过程是否会失败,但它创建了电子邮件\password和其他东西,但没有在数据库root\users\中写入任何数据 在用email\password注册新用户后,我得到了这个错误,这意味着用户名不能超过3个字符。在这种情况下,如何停止注册进程并显示警报消息? [Firebase/Databa

  • 我正在尝试使用parse.com推送通知服务向我的iOS应用添加推送通知,但我遇到了一些问题,我的一些设备没有收到通知。 当前代码 这似乎在某些设备上起作用(在同事的iPhone5上测试过--起作用了,在我老板的iPhone6上测试过--不起作用) 第43行: 警告2: /users/ds/code/rp-ios/rp/appdelegate.swift:44:25:iOS 8.0中不推荐使用“R

  • 我想设置一个由多个步骤组成的用户注册。每个步骤将以条的形式突出显示。深灰色条将是完成的步骤,浅灰色条将是需要完成的步骤。似乎想不出这样做的方法。请建议。 我们可以在myfitnesspal注册中看到这一点。我在下图的红色框中突出显示了这一点。