it-swarm.com.de

Die App zeigt auf einen nicht öffentlichen Wähler in der ID (Facebook SDK iOS).

Ich habe diese Warnung erhalten, als ich meine App mit dem Application Loader übermittelte.

The app references non-public selector in MyApp : id

Diese Warnung kann dazu führen, dass meine App möglicherweise von der Überprüfung durch Apple AppStore abgelehnt wird.

Meine App verwendet Facebook SDK iOS 3.1.1 (auch mit 3.1 versucht)

43
Kalzem

Dieses Problem tritt aufgrund des Facebook-SDK für iOS auf.

Application Loader verbietet die Verwendung der Variablen "id" von einer beliebigen FBGraphUser-Klasse (möglicherweise auch andere Variablen, die nicht getestet wurden) - z. : 

id<FBGraphUser> friend
id<FBGraphUserExtraFields>user

Facebook ist ab Januar 2013 über dieses Problem informiert: Fehlerbericht

Die Problemumgehung für den Moment besteht darin, diese zu verwenden:

[user objectForKey:@"id"]
[friend objectForKey:@"id"]

anstelle von user.id und friend.id wie in den verschiedenen Facebook-Beispielen gezeigt.

65
Kalzem

Um nur für Benutzer zu aktualisieren, die von Suchmaschinen hierher kommen, wurde dies im neuesten Facebook SDK behoben (unser Projekt wurde gerade in die Bibliotheksversion 3.7.1 verschoben und die Validierungswarnungen gingen weg). 

3
Iain Barclay

Für alle, die hierher kommen und nach einer Antwort suchen. Das Problem wurde in Version 3.14.1 laut Änderungsprotokoll des SDK für Facebook behoben

https://developers.facebook.com/docs/ios/change-log-3.x/

  • Die id -Eigenschaft für die Typen FBGraphObject, FBGraphPlace, FBOpenGraphAction und FBOpenGraphObject wurde in Zugunsten von objectID nicht mehr unterstützt, um Übermittlungswarnungen im App Store zu vermeiden.

  • Die Beschreibungseigenschaft von FBLinkShareParams und FBOpenGraphObject
    wurde zugunsten von linkDescription und
    objectDescription, um die Übermittlung des App Store zu vermeiden
    Warnungen.

3
Out of Orbit

Facebook iOS SDK 3.12 das gleiche Problem in FBGraphUser.h.

Veränderung

@property (retain, nonatomic) NSString *id;

zu

@property (retain, nonatomic) NSString *UserId;
2
gabemorales

Datei FBGraphUser.h  

veränderung 

@ property (keep, nonatomic) NSString * id;

durch

@ property (keep, nonatomic) NSString * FbUserId;

0
Carlos Avalos

Die Validierungswarnungen sind auch in Version 3.13 enthalten. Ich weiß nicht, ob das bei anderen Leuten funktionieren wird, aber er ist eine schnelle Lösung, die den Fehler beseitigt hat. In FBGraphUser.h um Zeile 41 habe ich geändert ...

@property (retain, nonatomic) NSString *id;

zu

@property (retain, nonatomic) NSString *FBUserID; 

Ich erhielt auch die gleiche Validierungswarnung für setProfileId, also ging ich zu FBProfilePictureView.h und änderte die Profil-ID in den Zeilen 54 und 76 in FBID.

Ich habe dann meine FBLoginView-Informationen im ViewController meines Spiels aktualisiert, um die Änderungen widerzuspiegeln. Alles, was mit FB zu tun hat, scheint in meiner App noch zu funktionieren und hat die Application Loader-Validierung bestanden.

0
ASHISHT

Ich habe dieses Problem gelöst (wobei 13.1 immer noch Warnungen generiert und eine ungültige Binärdatei in itunesconnect erzeugt), indem ich die FacebookSDK-Quelle von Github ( link ) herunterlade und das Skript "build_framework.sh" im Skriptverzeichnis verwende. Dann wurde das generierte Framework zu meinem Xcode-Projekt hinzugefügt - und es wurden keine Warnungen mehr angezeigt.

0
Nicolinux

Verwenden Sie Facebook iOS SDK 3.13. Es werden keine Validierungswarnungen angezeigt. 

0
Nookaraju