2014-06-14 4 views
2

채팅 기능이있는 iOS 앱을 개발 중입니다. OpenFire 서버와 iOS 앱을 연결하기 위해 XMPPFramework를 구성 할 수있는 리소스가 있는지 알고 싶습니다.iOS 용 XMPPFramework 설정

저는 XMPP 프로토콜을 처음 사용합니다.

저는 현재 XMPP 스트림 및 Rosters에 대해 배우고 있습니다.하지만 적어도 작동하려면 연결이 필요합니다.

도와주세요.

+1

안녕 모두를 XMPP에 많은 어려움을 겪고 후, 지금 연결 일이있어 , 이렇게하려면 서버 이름이 아니라 내 Mac의 호스트 이름을 넣어야했습니다. 하지만 지금은 사용자 인증을 연결할 수 있습니다. 도와 주셔서 감사합니다 키이스. – jdecuirm

답변

5

XMPPFramework-master> Xcode> iPhoneXMPP에서 샘플 iOS 프로젝트를 시작하십시오.

바람직하게는 프로젝트 자체에서 조정을 시작하고 자신의 XMPP 프로젝트를 만들기 전에 계속 진행하십시오.

기본적으로 XMPP를 OpenFire 서버에 연결하기 위해 대부분의 구성이 AppDelegate에 있습니다. XMPP 설정에서

  1. 설정하여 오픈 파이어의 세부 정보 :

    : 당신은 이미 당신의 Openfire의 명부에서 연락처를 만든 XMPP 연결 방법에서 연락처의 자격 증명을 설정 한 가정

    - (void)setupStream 
    { 
        ... 
    
        // Specify your server's IP address 
        [xmppStream setHostName:@"123.12.123.12"]; 
    
        // Specify your host port 
        [xmppStream setHostPort:5222]; 
    } 
    
  2. - (BOOL)connect 
    { 
        /** 
        * Of course, do not hardcode in an actual implementation 
        * Appending the server name at the back of user ID is necessary 
        */ 
        myJID = @"[email protected]"; 
        myPassword = @"password goes here"; 
    } 
    
  3. 앱 실행 메소드에서 connect 메소드를 호출했는지 확인하십시오.

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
        [self connect]; 
    } 
    
  4. 는 당신이 여기에 연결되어 있는지 확인 :

    - (void)xmppStreamDidConnect:(XMPPStream *)sender 
    { 
        NSLog(@"User Connected"); 
        // You are connected to the server at this point.    
    } 
    
  5. 당신이 여기 인증되어 있는지 확인 :

    - (void)xmppStreamDidAuthenticate:(XMPPStream *)sender 
    { 
        NSLog(@"User Authenticated"); 
        /** 
        * Once you've reached this point, 
        * Check your server for the online users. 
        * You should now be seen as "available". 
        * Cheers! 
        */ 
    } 
    
+0

답변 해 주셔서 감사합니다. 호스트 이름에 IP 주소를 지정해야합니까? 또는 openfire 서버 구성에서 나에게 잡음을 발생시키는 것으로 나타나기 때문에 서버 이름을 넣을 수 있습니다. 첫 번째 서버 이름 : openfire.example.net 및 hostName : Decuirs-Macbook-Pro.local, 직접 작업 할 수 있습니까? 이 IP 주소를 직접 지정해야합니까? 모두 – jdecuirm

+0

안녕하세요 Keith 다시, XMPPFOS는 XMPPFramework의 폴더에 있음을 확인했지만 Robbie가 [self connect] 메서드를 호출하여 연결을 시작하지 않는다는 것을 알게되었지만 대신 [self setupStream]을 그게 뭐야? 건배. – jdecuirm

+0

@ user3741129 안녕하세요, 그렇습니다. 서버 이름을 지정할 수도 있지만 IP 주소가 더 나은 고유 식별자입니다. 귀하의 두 번째 질문에 관해서는 이미 if-statement에서 다음과 같이 호출되었습니다 :'if (! [self connect])' –