2015-01-21 5 views
0

저는 Parse로 그립을 잡아 간단한 채팅 앱을 만들려고합니다.PFInstallation 및 PFUser에 대한 포인터 추가

PFInstallation *installation = [PFInstallation currentInstallation]; 
     installation[@"user"] = [PFUser currentUser]; 
     [installation saveInBackground]; 

이 코드는 이렇게 푸시가 사용자 이름을 조회하여 전송 될 수있는 PFUser에 PFInstallation 연결 : 내 로그인가입 코드에 대해 나는이 조각을 가지고있다.

응용 프로그램로드가 처음에 로그인 한 사용자가 이미 있는지 확인

:

if ([PFUser currentUser]) { 
    [self performSegueWithIdentifier:@"showFriends" sender:nil]; 
} 

사용자가 이미 쇼 친구에 기록되어있는 경우는 컨트롤러가로드 볼 수 있습니다. 이 코드에 사용자를 맞추기 위해 설치를 다시 설정해야합니까? 즉

if ([PFUser currentUser]) { 
     PFInstallation *installation = [PFInstallation currentInstallation]; 
     [installation[@"user"] = [PFUser currentUser]; 
     [installation saveInBackground]; 
     [self performSegueWithIdentifier:@"showFriends" sender:nil]; 


} 

사용자가 이미 로그인 했으므로 필요하지 않습니까? 나는 설치 파일이 유일하고 한 번만 생성되어 장치를 푸시 서비스와 일치 시키므로 실제로 내가 추가 한 PFUser 필드를 업데이트하지 않는 한 그 파일에서 아무 것도 변경되지 않는다고 생각합니까? 감사 표시가 친구보기 컨트롤러에로드되어있는 경우 사용자가 이미 로그인 한 경우

답변

1

감사합니다. 이 코드에 사용자를 맞추기 위해 설치를 다시 설정해야합니까?

No. 설치 및 사용자 클래스는 독립적으로 작동하지만, 관계를 설정 한 후 사용자의 경우에는 함께 작동 할 수 있습니다. 이미 응용 프로그램 didFinishLaunchingWithOptions:에서 장치가 제공 한 토큰 (장치 토큰)을 사용하여 설치를 고유하게 식별 했으므로 장치를 다시 호출 할 필요가 없습니다. 사용자 세션이 다릅니다. 사용자가 로그인되기를 원하면 로그인 VC를 어딘가에 제시해야합니다. 첫 번째 출시가 없기 때문입니다.

맞죠 설치 파일이 고유에만 푸시 서비스 내가 추가 한 PFUser 필드를 업데이트하지 않으려면 그래서 아무것도 정말 파일에 변경되지 않습니다에 장치를 일치 한 번 만든 생각에? 감사합니다

예. 예. 꽤 정확합니다. 혼란스러워하지 마세요. PFUser currentUserPFInstallation currentInstallation과 같지 않습니다. 누구나 기기에 로그인 할 수 있지만 앱을 기기에 한 번만 설치하면 설치가 고유합니다. 사용자가 아닙니다.

+0

감사합니다. 그래서 if ([PFUser currentUser]) { [self performSegueWithIdentifier : @ "showFriends"sender : nil]의 instalation으로 PFUser를 재설정 할 필요가 없습니다. } 맞습니까? – Kex

+0

맞음, 일단 관계가 설정되면, 당신이 다르게 말할 때까지 항상 그 상태를 유지할 것입니다 – soulshined