objective-c - nomore UDID - 如何存储每个设备的推送通知设置?

标签 objective-c ios xcode udid

Udid 已弃用 - 现在您将如何存储每个设备的推送通知设置?

其他人如何存储每个设备的推送设置?

我们可以使用 iphone/ipad MAC 地址吗?或者苹果会禁止该应用程序吗?

最佳答案

像这样:

@interface UIDevice (UIDeviceAppIdentifier)
@property (readonly) NSString *deviceApplicationIdentifier;
@end

@implementation UIDevice (UIDeviceAppIdentifier)
- (NSString *) deviceApplicationIdentifier
{ 
  static NSString *name     = @"a string identifying your application, like its name";
  NSUserDefaults  *defaults = [NSUserDefaults standardUserDefaults];  
  NSString        *value    = [defaults objectForKey: name];

  if (!value)
    {
      value = (NSString *) CFUUIDCreateString (NULL, CFUUIDCreate(NULL));    
      [defaults setObject: value forKey: name];
      [defaults synchronize]; // handle error
  }
  return value;
}
@end

iOS 文档或多或少描述了如何使用 CFUUIDCreate() 创建标识符,并建议使用 UserDefaults 来存储它。

关于objective-c - nomore UDID - 如何存储每个设备的推送通知设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10037089/

相关文章:

ios - 为什么 CocoapPods 不接受类的评论?

iphone - 在 iPhone 或 iPad 应用程序中调用 main 时会发生什么?

objective-c - 编辑在 IOS 应用程序中管理的预填充 sqlite 数据库核心数据

ios - 不是目录@rb_sysopen -/usr/local/bin/fuzzy_match

android - 如何在 Android Webkit 中提高图像质量(与 iOS 对比)

xcode - 代码完成在基于 swift 的 Cocoa Touch Framework 中不起作用

objective-c - 在 Cocoa/Objective-C 中创建看门狗的原因和方法

javascript - 位置 : fixed; element doesn't work correctly on iOS 上的触摸事件

ios - 使用键盘滑动 UIScrollView 并向上移动 View

iPhone 应用程序无法在模拟器上启动,没有错误