Represents an immutable Facebook profile
This class provides a global "currentProfile" instance to more easily
add social context to your application. When the profile changes, a notification is
posted so that you can update relevant parts of your UI and is persisted to NSUserDefaults.
Typically, you will want to call enableUpdatesOnAccessTokenChange:YES
so that
it automatically observes changes to the [FBSDKAccessToken currentAccessToken]
.
You can use this class to build your own FBSDKProfilePictureView
or in place of typical requests to "/me".
Conforms to: | NSCopying, NSSecureCoding |
Superclass: | NSObject |
Declared in: | FBSDKProfile.h |
firstName
The user's first name
@property (nonatomic,
readonly) NSString *firstName;
FBSDKProfile.h
lastName
The user's last name
@property (nonatomic,
readonly) NSString *lastName;
FBSDKProfile.h
linkURL
A URL to the user's profile.
@property (nonatomic,
readonly) NSURL *linkURL;
Consider using Bolts and FBSDKAppLinkResolver
to resolve this
to an app link to link directly to the user's profile in the Facebook app.
FBSDKProfile.h
middleName
The user's middle name
@property (nonatomic,
readonly) NSString *middleName;
FBSDKProfile.h
name
The user's complete name
@property (nonatomic,
readonly) NSString *name;
FBSDKProfile.h
refreshDate
The last time the profile data was fetched.
@property (nonatomic,
readonly) NSDate *refreshDate;
FBSDKProfile.h
currentProfile
Gets the current FBSDKProfile instance.
+ (FBSDKProfile *)
currentProfile;
FBSDKProfile.h
enableUpdatesOnAccessTokenChange:
Indicates if currentProfile
will automatically observe FBSDKAccessTokenDidChangeNotification
notifications
Parameter | Description |
---|---|
enable | YES is observing |
+ (void)
enableUpdatesOnAccessTokenChange:(BOOL)enable;
If observing, this class will issue a graph request for public profile data when the current token's userID
differs from the current profile. You can observe FBSDKProfileDidChangeNotification
for when the profile is updated.
Note that if [FBSDKAccessToken currentAccessToken]
is unset, the currentProfile
instance remains. It's also possible
for currentProfile
to return nil until the data is fetched.
FBSDKProfile.h
loadCurrentProfileWithCompletion:
Loads the current profile and passes it to the completion block.
Parameter | Description |
---|---|
completion | The block to be executed once the profile is loaded |
+ (void)
loadCurrentProfileWithCompletion | |
void | |
^ | |
FBSDKProfile | |
profile | |
NSError | |
error | |
completion; |
If the profile is already loaded, this method will call the completion block synchronously, otherwise it
will begin a graph request to update currentProfile
and then call the completion block when finished.
FBSDKProfile.h
setCurrentProfile:
Sets the current instance and posts the appropriate notification if the profile parameter is different than the receiver.
Parameter | Description |
---|---|
profile | The profile to set |
+ (void)
setCurrentProfile:(FBSDKProfile *)profile;
This persists the profile to NSUserDefaults.
FBSDKProfile.h
imagePathForPictureMode:size:
A convenience method for returning a Graph API path for retrieving the user's profile image.
Parameter | Description |
---|---|
mode | The picture mode |
size | The height and width. This will be rounded to integer precision. |
- (NSString *)
imagePathForPictureMode: | (FBSDKProfilePictureMode)mode |
size: | (CGSize)size |
__attribute__((deprecated("use imageURLForPictureMode:size: instead")));
You can pass this to a FBSDKGraphRequest
instance to download the image.
FBSDKProfile.h
imageURLForPictureMode:size:
A convenience method for returning a complete NSURL
for retrieving the user's profile image.
Parameter | Description |
---|---|
mode | The picture mode |
size | The height and width. This will be rounded to integer precision. |
- (NSURL *)
imageURLForPictureMode: | (FBSDKProfilePictureMode)mode |
size: | (CGSize)size; |
FBSDKProfile.h
initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:
Initializes a new instance.
Parameter | Description |
---|---|
userID | The user ID |
firstName | The user's first name |
middleName | The user's middle name |
lastName | The user's last name |
name | The user's complete name |
linkURL | The link for this profile |
refreshDate | The optional date this profile was fetched. Defaults to [NSDate date]. |
- (instancetype)
initWithUserID: | (NSString *)userID |
firstName: | (NSString *)firstName |
middleName: | (NSString *)middleName |
lastName: | (NSString *)lastName |
name: | (NSString *)name |
linkURL: | (NSURL *)linkURL |
refreshDate: | (NSDate *)refreshDate |
NS_DESIGNATED_INITIALIZER; |
FBSDKProfile.h
isEqualToProfile:
Returns YES if the profile is equivalent to the receiver.
Parameter | Description |
---|---|
profile | The profile to compare to. |
- (BOOL)
isEqualToProfile:(FBSDKProfile *)profile;
FBSDKProfile.h
FBSDKProfileDidChangeNotification
FBSDK_EXTER N NSString *const FBSDKProfileDidChangeNotification;
The userInfo dictionary of the notification will contain keys
FBSDKProfileChangeOldKey
and
FBSDKProfileChangeNewKey
.
FBSDKProfile.h