首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TestFlight setDeviceIdentifier在生产中

TestFlight setDeviceIdentifier在生产中
EN

Stack Overflow用户
提问于 2013-11-12 15:38:48
回答 3查看 706关注 0票数 0

在TestFlight的文档中,它说在生产中设置设备标识符可能会导致应用程序被拒绝。

然而,它并没有提到使用广告标识作为替代。我的意思是,苹果似乎只会拒绝它,因为检索UDID在iOS 7中是不可取的。

话虽如此,苹果是否会介意我使用广告标识符在TestFlight中跟踪我的用户?

代码语言:javascript
复制
// Obsolete in iOS 7 and Apple will reject application...
MonoTouch.TestFlight.TestFlight.SetDeviceIdentifier(UIDevice.CurrentDevice.UniqueIdentifier);
// ...but will it reject this?
MonoTouch.TestFlight.TestFlight.SetDeviceIdentifier(ASIdentifierManager.SharedManager.AdvertisingIdentifier.ToString());
MonoTouch.TestFlight.TestFlight.TakeOff(applicationToken);

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-12 15:48:00

不推荐UDID,因此他们跟踪用户的唯一方法是使用广告标识符。

这样做并没有错,而且在评审过程中也不会造成任何问题。

票数 1
EN

Stack Overflow用户

发布于 2013-11-13 07:20:28

另一种识别设备/用户的方法是使用NSUUID类的UUID方法来创建UUID并将其六角弦表示形式写入用户默认数据库。

在iOS 6和更高版本中,苹果已经为你做了这样的工作。只需在identifierForVendor类上调用UIDevice方法即可。

票数 0
EN

Stack Overflow用户

发布于 2013-12-07 17:31:02

下面是一个可以与iOS6和up一起使用的代码片段:

代码语言:javascript
复制
#define kApplicationUUIDKey @"kApplicationUUIDKey"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSString *UUID = [[NSUserDefaults standardUserDefaults] objectForKey:kApplicationUUIDKey];
    if (!UUID) {
        UUID = [[[NSUUID UUID] UUIDString] stringByReplacingOccurrencesOfString:@"-" withString:@""];

        [[NSUserDefaults standardUserDefaults] setObject:UUID forKey:kApplicationUUIDKey];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

    [TestFlight setDeviceIdentifier:UUID];
    [TestFlight takeOff:kTestFlightIdentifierKey];

...

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19933407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档