0

TestFlight のドキュメントでは、本番環境でデバイス識別子を設定すると、アプリケーションが拒否される可能性が高いと記載されています。

ただし、代わりに広告 ID を使用することについては何も述べていません。つまり、iOS 7 では UDID の取得が非推奨になっているため、Apple はそれを拒否するだけのようです。

そうは言っても、広告識別子を使用して TestFlight でユーザーを追跡しても、アップルは気にしますか?

// 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);

ありがとう!

4

3 に答える 3

1

UDID は廃止されたため、ユーザーを追跡する唯一の方法は広告識別子を使用することです。

それは何も悪いことではなく、レビュー中に問題が発生することはありません.

于 2013-11-12T15:48:00.807 に答える
0

iOS6以降で使用できるコードの抜粋は次のとおりです。

#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];

...

}
于 2013-12-07T17:31:02.857 に答える
0

デバイス/ユーザーを識別する別の方法は、NSUUID クラスの UUID メソッドを使用して UUID を作成し、その16進文字列表現をユーザー デフォルト データベースに書き込むことです。

iOS 6 以降では、Apple がその作業を行っています。UIDeviceクラスでidentifierForVendorメソッドを呼び出すだけです。

于 2013-11-13T07:20:28.937 に答える