ios facebook sdk profile

ios - El objeto FBProfilePictureView no mostrarĂ¡ la imagen



install facebook sdk ios (7)

Estoy haciendo el scrumptios facebook tutorial tutorial para el iOS SDK 3.1. Logré mostrar el nombre de mi perfil de Facebook, sin embargo, el FBProfilePictureView no muestra la imagen

aquí está el código para iboutlet

@property (strong, nonatomic) IBOutlet FBProfilePictureView *useProfileImage;

aquí es lo que solía mostrar la foto

self.useProfileImage.profileID = user.id;

He confirmado que cambió la variable profileid de la imagen mostrándola en una etiqueta.

cuando primero ejecuté el proyecto tuve este error

"2012-05-18 04: 04: 11.620 Para chuparse los dedos [6548: f803] Clase desconocida FBProfilePictureView en el archivo de Interface Builder."

y lo resolvió de la manera que sugirió el tutorial de FB al agregar [FBProfilePictureView class]; a "applicationdidishlaunching: withoptions" en el delegado de la aplicación.

¿Alguna idea de por qué la imagen no se muestra?

enlace al tutorial


Tengo el mismo problema. Mi solución es desmarcar la opción "Utilizar la función de autodespacho" en "Inspector de archivos" del archivo xib. Para abrir el "Inspector de archivos", presione cmd + option + 1 después de abrir el archivo xib.

Edición 1 : Solo encuentra otra solución.

Intente establecer una restricción de ancho y una restricción de altura en la vista de la imagen de perfil. Encuentro que este tutorial es útil.


Tuve el mismo problema, xcode4.5.1 ios6. para solucionarlo, haga lo siguiente: en IB desmarque utilizar el ajuste automático para FBprofilepictureview, también desmarque "autoresize subview" en la vista


Como se documenta en las páginas web de Facebook, debe colocar la clase [FBProfilePictureView]; como la primera línea en el método delegado de aplicación de didFinishLaunching. (Tenga en cuenta que su código de ejemplo no tiene esto pero aún funciona, en mi caso no funcionará sin él).

Creé un objeto UIView con el tamaño y luego seleccioné la clase de UIView a FBProfilePictureView. Esto desconectará cualquier conexión entre su programa y IB por lo que debe volver a conectarse, el error en el que no puede ver la imagen se debe a que el objeto no está conectado a un elemento de IBOutlet. No estoy seguro si un corte y pegado funcionará, tal vez lo haga, pero creé el objeto de UIView y simplemente cambié la clase manualmente a través de IB.

Sin la [clase FBProfilePictureView]; te dará un error.

Si se hace correctamente, si ve el XIB - en la ventana / lista de objetos debería ver "Vista de foto de perfil" junto con Botón y Etiqueta en lugar de FBProfilePictureView. La foto de perfil de Facebook debe mostrarse.


Para resolver esto, agregue esto como la primera línea en la aplicación del delegado de aplicación: didFinishLaunchingWithOptions: método:

[FBProfilePictureView class];


Agregar la [FBProfilePictureView class]; como la primera línea en el método delegado de la aplicación de didFinishLaunching me parece un poco raro.

Mira la HelloFacebookSample dentro del SDK. Aquí está el comentario de 4 líneas:

// If you have not added the -ObjC linker flag, you may need to uncomment the following line because // Nib files require the type to have been loaded before they can do the wireup successfully. // http://.com/questions/1725881/unknown-class-myclass-in-interface-builder-file-error-at-runtime // [FBProfilePictureView class];

Intenté agregar la bandera -ObjC y funcionó bien.


Ellos (fb developer forum) dijeron pegar que en su aplicación el delegado didLunch método así

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [FBProfilePictureView class]; // Create a LoginUIViewController instance where the login button will be LoginUIViewController *loginUIViewController = [[LoginUIViewController alloc] init]; // Set loginUIViewController as root view controller [[self window] setRootViewController:loginUIViewController]; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES; }

simplemente reemplace

[FBProfilePictureView class]; with these commented lines it will work // Override point for customization after application launch. // Load the FBProfilePictureView // You can find more information about why you need to add this line of code in our troubleshooting guide // https://developers.facebook.com/docs/ios/troubleshooting#objc [FBProfilePictureView class];

funcionará mágicamente :)


Las clases que usan categorías para extender las clases existentes no se cargan automáticamente. Las clases que se utilizan desde el constructor de interfaz Xcode no se cargan automáticamente, por ejemplo, cuando agrega un FBLoginView a su interfaz dibujando una vista en su archivo .xib y luego clasificándolo como FBLoginView desde la interfaz de usuario del constructor de interfaz.

class ayuda a crear un puntero al FBProfilePictureView.