Sto aggiornando da Parse v1.6.4 alla versione più recente e sto aggiornando anche Facebook ios sdk alla v4.7. Il problema è dopo che l'app è autorizzata, mostra una schermata bianca vuota e se faccio clic su "fatto", chiude il safari e nel registro mostra che l'utente ha annullato il login.
Stava funzionando bene prima di aggiornarlo alla nuova versione.IOS-Facebook Schermo bianco vuoto dopo che l'app è autorizzata
mia plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fbxxxxxx</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string><my FacebookAppID></string>
<key>FacebookDisplayName</key>
<string>my appname</string>
bianco listato FB server di
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
AppDelegate.m
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return [[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
}
viewController.m
-(IBAction)facebookLogin:(id)sender
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
if ([FBSDKAccessToken currentAccessToken])
{
//Do something
}
else
{
[login logInWithReadPermissions:@[@"email"] fromViewController:nil handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error)
{
NSLog(@"Error");
}
else if (result.isCancelled)
{
NSLog(@"User cancelled login");
}
else
{
NSLog(@"Login Success");
if ([result.grantedPermissions containsObject:@"email"])
{
NSLog(@"result is:%@",result);
}
else
{
NSLog(@"FB email permission error");
}
}
}];
}
}
Ecco un'immagine dello schermo.
Sto facendo funzionare questa applicazione prova nel mio dispositivo iPhone 6.
Grazie! :)
Edit 1:
Oggi, ho aggiornato il mio progetto per la nuova SDK v4.8 di Facebook e questa volta, sembra che funzioni.
Non sono sicuro, cosa stavo facendo male in quel momento, ma sta funzionando ora per i dispositivi arm64.
Ma quando abilitare il supporto per armv7s, mi sta dando questo errore ...
ld: file is universal (4 slices) but does not contain a(n) armv7s slice:
cui punta FBSDKLoginKit.framework.
I dispositivi armv7s non sono più supportati?
Esiste comunque la possibilità di eliminare questo errore?
Grazie! :)
Grazie Dharmesh! Adesso va molto meglio! Come hai fatto? Voglio dire, usando qualche sito di hosting di immagini o qualcos'altro? – Alex
è necessaria la reputazione per allegare immagini. – anhtu
Oh ok :) Grazie, anhtu! – Alex