> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFAuthenticationServerLoginWithIOSDeviceIDRequest

> PFAuthenticationServerLoginWithIOSDeviceIDRequest data model. On iOS devices, the identifierForVendor (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html# // apple_ref/occ/instp/UIDevice/identifierForVendor) must be used as the DeviceId, as the UIDevice uniqueIdentifier has been deprecated as of iOS 5, and use of the advertisingIdentifier for this purpose will result in failure of Apple's certification process. If this is the first time a user has signed in with the iOS device and CreateAccount is set to true, a new PlayFab account will be created and linked to the vendor-specific iOS device ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the iOS device, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account.

PFAuthenticationServerLoginWithIOSDeviceIDRequest data model. On iOS devices, the identifierForVendor ([https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice\_Class/index.html#](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html#) // apple\_ref/occ/instp/UIDevice/identifierForVendor) must be used as the DeviceId, as the UIDevice uniqueIdentifier has been deprecated as of iOS 5, and use of the advertisingIdentifier for this purpose will result in failure of Apple's certification process. If this is the first time a user has signed in with the iOS device and CreateAccount is set to true, a new PlayFab account will be created and linked to the vendor-specific iOS device ID. In this case, no email or username will be associated with the PlayFab account. Otherwise, if no PlayFab account is linked to the iOS device, an error indicating this will be returned, so that the title can guide the user through creation of a PlayFab account.

## Syntax

```cpp theme={null}
typedef struct PFAuthenticationServerLoginWithIOSDeviceIDRequest {  
    bool createAccount;  
    PFStringDictionaryEntry const* customTags;  
    uint32_t customTagsCount;  
    const char* deviceId;  
    const char* deviceModel;  
    PFGetPlayerCombinedInfoRequestParams const* infoRequestParameters;  
    const char* OS;  
} PFAuthenticationServerLoginWithIOSDeviceIDRequest;  
```

### Members

**`createAccount`**   bool

Automatically create a PlayFab account if one is not currently linked to this ID.

**`customTags`**   PFStringDictionaryEntry const\*<br />*may be nullptr*

(Optional) The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

**`customTagsCount`**   uint32\_t

Count of customTags

**`deviceId`**   const char\*<br />*is null-terminated*

Vendor-specific iOS identifier for the user's device.

**`deviceModel`**   const char\*<br />*is null-terminated*

(Optional) Specific model of the user's device.

**`infoRequestParameters`**   PFGetPlayerCombinedInfoRequestParams const\*<br />*may be nullptr*

(Optional) Flags for which pieces of info to return for the user.

**`OS`**   const char\*<br />*is null-terminated*

(Optional) Specific Operating System version for the user's device.

## Requirements

**Header:** PFAuthenticationTypes.h

## See also

[PFAuthenticationTypes members](/services/playfab/api-references/c/pfauthenticationtypes/pfauthenticationtypes_members)
