FBSDKProfile Class Reference
Inherits from | NSObject |
Conforms to | NSCopying NSSecureCoding |
Declared in | FBSDKProfile.h |
Overview
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”.
Tasks
-
– initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:
-
userID
property -
firstName
property -
middleName
property -
lastName
property -
name
property -
linkURL
property -
refreshDate
property -
+ currentProfile
-
+ setCurrentProfile:
-
+ enableUpdatesOnAccessTokenChange:
-
+ loadCurrentProfileWithCompletion:
-
– imageURLForPictureMode:size:
-
– imagePathForPictureMode:size:
-
– isEqualToProfile:
Properties
firstName
The user’s first name
@property (nonatomic, readonly) NSString *firstName
Declared In
FBSDKProfile.h
lastName
The user’s last name
@property (nonatomic, readonly) NSString *lastName
Declared In
FBSDKProfile.h
linkURL
A URL to the user’s profile.
@property (nonatomic, readonly) NSURL *linkURL
Discussion
Consider using Bolts and FBSDKAppLinkResolver
to resolve this
to an app link to link directly to the user’s profile in the Facebook app.
Declared In
FBSDKProfile.h
middleName
The user’s middle name
@property (nonatomic, readonly) NSString *middleName
Declared In
FBSDKProfile.h
name
The user’s complete name
@property (nonatomic, readonly) NSString *name
Declared In
FBSDKProfile.h
Class Methods
currentProfile
Gets the current FBSDKProfile instance.
+ (FBSDKProfile *)currentProfile
Declared In
FBSDKProfile.h
enableUpdatesOnAccessTokenChange:
Indicates if currentProfile
will automatically observe FBSDKAccessTokenDidChangeNotification
notifications
+ (void)enableUpdatesOnAccessTokenChange:(BOOL)enable
Parameters
- enable
YES is observing
Discussion
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.
Declared In
FBSDKProfile.h
loadCurrentProfileWithCompletion:
Loads the current profile and passes it to the completion block.
+ (void)loadCurrentProfileWithCompletion:(void ( ^ ) ( FBSDKProfile *profile , NSError *error ))completion
Parameters
- completion
The block to be executed once the profile is loaded
Discussion
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.
Declared In
FBSDKProfile.h
setCurrentProfile:
Sets the current instance and posts the appropriate notification if the profile parameter is different than the receiver.
+ (void)setCurrentProfile:(FBSDKProfile *)profile
Parameters
- profile
the profile to set
Discussion
This persists the profile to NSUserDefaults.
Declared In
FBSDKProfile.h
Instance Methods
imagePathForPictureMode:size:
A convenience method for returning a Graph API path for retrieving the user’s profile image. (Deprecated: use imageURLForPictureMode:size:
instead)
- (NSString *)imagePathForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size
Parameters
- mode
The picture mode
- size
The height and width. This will be rounded to integer precision.
Discussion
You can pass this to a FBSDKGraphRequest
instance to download the image.
Declared In
FBSDKProfile.h
imageURLForPictureMode:size:
A convenience method for returning a complete NSURL
for retrieving the user’s profile image.
- (NSURL *)imageURLForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size
Parameters
- mode
The picture mode
- size
The height and width. This will be rounded to integer precision.
Declared In
FBSDKProfile.h
initWithUserID:firstName:middleName:lastName:name:linkURL:refreshDate:
initializes a new instance.
- (instancetype)initWithUserID:(NSString *)userID firstName:(NSString *)firstName middleName:(NSString *)middleName lastName:(NSString *)lastName name:(NSString *)name linkURL:(NSURL *)linkURL refreshDate:(NSDate *)refreshDate
Parameters
- 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].
Declared In
FBSDKProfile.h