Swift OneSignal精子许可订阅状态集订阅

Swift OneSignal精子许可订阅状态集订阅,swift,cocoapods,onesignal,Swift,Cocoapods,Onesignal,我已经更新了我的CoCoapod,但OneSignal出现了错误 错误的 类型“OneSignal”没有成员“setSubscription” OneSignal.setSubscription(true) 在作用域中找不到类型“OSPermissionSubscriptionState” let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState() 此代码在运行更新之前已编译 我

我已经更新了我的CoCoapod,但OneSignal出现了错误

错误的

类型“OneSignal”没有成员“setSubscription”

OneSignal.setSubscription(true)
在作用域中找不到类型“OSPermissionSubscriptionState”

let status: OSPermissionSubscriptionState = OneSignal.getPermissionSubscriptionState()
此代码在运行更新之前已编译

我还得到“Type'OneSignal'没有成员'setSubscription'

OneSignal.setSubscription(true)
旧的

新的

旧的

新的

你也可以像这样把一个信号信息拉给用户

 let status: OSPermissionSubscriptionState =        OneSignal.getPermissionSubscriptionState()
  // Push Status Methods
 let hasPrompted = status.permissionStatus.hasPrompted
 print("hasPrompted: ", hasPrompted)
  let userStatus = status.permissionStatus.status
  print("userStatus: ", userStatus)
  let isSubscribed = status.subscriptionStatus.subscribed
  print("isSubscribed: ", isSubscribed)
  let userSubscriptionSetting =                      status.subscriptionStatus.userSubscriptionSetting
  print("userSubscriptionSetting: ", userSubscriptionSetting)
  if let userID = status.subscriptionStatus.userId{
  print("userID: ", userID)
}
   if let pushToken = status.subscriptionStatus.pushToken {
  print("pushToken: ", pushToken)
}
  // Email Status Methods
  if let emailPlayerId = status.emailSubscriptionStatus.emailUserId   {
  print("emailPlayerId: ", emailPlayerId)
}
  if let emailAddress = status.emailSubscriptionStatus.emailAddress   {
  print("emailAddress: ", emailAddress)
} 
 let isEmailSubscribed = status.emailSubscriptionStatus.subscribed
 print("isEmailSubscribed: ", isEmailSubscribed)
OneSignal错误的文档

// START OneSignal initialization code
      let onesignalInitSettings = [kOSSettingsKeyAutoPrompt: false, kOSSettingsKeyInAppLaunchURL: false]
      
      // Replace 'YOUR_ONESIGNAL_APP_ID' with your OneSignal App ID.
      OneSignal.initWithLaunchOptions(launchOptions,
        appId: "KEY",
        handleNotificationAction: nil,
        settings: onesignalInitSettings)

      OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification;
      //END OneSignal initializataion code

这可能会帮助您获得新的OneSignal使用。我刚刚将我的SDK更新为3.1.0,我不得不更改一些要点:

新初始化:

范围:

编辑: 我想你从这里得到的代码 就在楼下,它说新的初始化是:

替换为以下内容:

// OneSignal initialization
OneSignal.initWithLaunchOptions(launchOptions)
OneSignal.setAppId("YOUR_ONESIGNAL_APP_ID")

你能检查我的新编辑吗?OneSignal文档是错误的,我正在试图找出正确的代码is@LukasBimba我更新了我的tickets我应该删除“let-onesignalInitSettings=[kossettingskeyayautoprompt:false,kOSSettingsKeyInAppLaunchURL:false]”和“OneSignal.inFocusDisplayType=OSNotificationDisplayType.notification;“因为我遇到错误”在范围内找不到'kOSSettingsKeyAutoPrompt'“在范围内找不到'kOSSettingsKeyInAppLaunchURL'”和“在范围内找不到'OSNotificationDisplayType'”@Lukasbibmba yep对我来说你必须删除它。我在我的范围内删除了它,它就像一个符咒一样工作
 let status: OSPermissionSubscriptionState =        OneSignal.getPermissionSubscriptionState()
  // Push Status Methods
 let hasPrompted = status.permissionStatus.hasPrompted
 print("hasPrompted: ", hasPrompted)
  let userStatus = status.permissionStatus.status
  print("userStatus: ", userStatus)
  let isSubscribed = status.subscriptionStatus.subscribed
  print("isSubscribed: ", isSubscribed)
  let userSubscriptionSetting =                      status.subscriptionStatus.userSubscriptionSetting
  print("userSubscriptionSetting: ", userSubscriptionSetting)
  if let userID = status.subscriptionStatus.userId{
  print("userID: ", userID)
}
   if let pushToken = status.subscriptionStatus.pushToken {
  print("pushToken: ", pushToken)
}
  // Email Status Methods
  if let emailPlayerId = status.emailSubscriptionStatus.emailUserId   {
  print("emailPlayerId: ", emailPlayerId)
}
  if let emailAddress = status.emailSubscriptionStatus.emailAddress   {
  print("emailAddress: ", emailAddress)
} 
 let isEmailSubscribed = status.emailSubscriptionStatus.subscribed
 print("isEmailSubscribed: ", isEmailSubscribed)
// START OneSignal initialization code
      let onesignalInitSettings = [kOSSettingsKeyAutoPrompt: false, kOSSettingsKeyInAppLaunchURL: false]
      
      // Replace 'YOUR_ONESIGNAL_APP_ID' with your OneSignal App ID.
      OneSignal.initWithLaunchOptions(launchOptions,
        appId: "KEY",
        handleNotificationAction: nil,
        settings: onesignalInitSettings)

      OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification;
      //END OneSignal initializataion code
import UIKit
import OneSignal

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
  
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: 
[UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  
  // Remove this method to stop OneSignal Debugging 
  OneSignal.setLogLevel(.LL_VERBOSE, visualLevel: .LL_NONE)

  // OneSignal initialization
  OneSignal.initWithLaunchOptions(launchOptions)
  OneSignal.setAppId("YOUR_ONESIGNAL_APP_ID")

  // promptForPushNotifications will show the native iOS notification permission prompt.
  // We recommend removing the following code and instead using an In-App Message to prompt for notification permission (See step 8)
  OneSignal.promptForPushNotifications(userResponse: { accepted in
    print("User accepted notifications: \(accepted)")
  })

   return true
}
  
// Remaining contents of your AppDelegate Class...
}
if let deviceState = OneSignal.getDeviceState() {
    let userId = deviceState.userId
    let pushToken = deviceState.pushToken
    let subscribed = deviceState.isSubscribed
 }
// OneSignal initialization
OneSignal.initWithLaunchOptions(launchOptions)
OneSignal.setAppId("YOUR_ONESIGNAL_APP_ID")