Undefined symbols for architecture x86_64

Options
dhatchina
edited June 2015 in Native
Hi Guys,

After long time, i'm coming back to this forum. we developed a pictionary game in iOS/Android/flex using your load balancing SDK in 2012. That time we only supported 32 bit architecture in iOS. Now we're also tried to support 64 bit architecture. So I downloaded new iOS SDK, lot of changes happen in SDK. I faced following issues while integrating new SDK with 64 bit support,

1. All the build setting are configured correctly(i referred your load balancing demo), Now I'm getting the below error,
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_EGLoadBalancingClient", referenced from:
      objc-class-ref in NetworkLogic.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

2. And also have one more question. if i update this iOS SDK, whether it cause any problem in another platform(android, flex)?

Please help me to fix this issue and clarify my doubt.

Thanks,
Dhatchina

Comments

  • Kaiserludi
    Options
    Hi dhatchina.

    1.
    I have tried to reproduce you issues with the demo_loadBalancing_objC demo from the iOS Client SDK 3.2.5.7, but it worked just like a charm for me.

    Could you provide more information for reproduction, please?
    What is the version of the Client SDK that you are using.
    Does the demo show the mentioned issue or do you only experience it with your app?
    Which Xcode version do you use?

    2.
    As long as you don't use any features that are only included in the newer SDKs and not in the older ones, the most recent Client SDKs should still be fully compatible to all older Photon 3 Client SDKs.
  • Hi Kaiserludi,

    Thanks for you reply. I made some mistake in Other Linker Flag. Now i resolved that issue and app running without issues. And also I tested with older version of iOS app and also with other platforms, still now i didn't find any issue. If i found any issues, I let you know.

    Thanks once again
  • Hi KaiserLudi,

    I got a problem in latest "Photon-iOS_v3-2-5-7" SDK. If I create a room in an iPhone, I can't join into the same room in another iOS device, other platforms device(Android, Flex) can join into the room. There is no issue with the different platform, this issue only happening in the ios platform. And I got "User is Block" log message when I joining into created room. I don't know how to solve this issue.

    Please help me.
  • Kaiserludi
    Options
    Hi dhatchina.
    And I got "User is Block" log message when I joining into created room.
    Neither the Photon iOS Client nor the Photon Server is sending a message like that under any circumstances and they have never been doing that in any version.

    Please check where this message is actually coming from.
    Are you using Photons CustomAuthentication feature? Then maybe your own custom authentication service is sending this.
  • Hi Kaiserludi,

    That error code coming from below code block, when I try to join into the room which is created by another iOS Client, Please read the complete post, then you can get some idea. This is only happening between iOS-to-iOS client.

    Code:
    - (void) joinRoomReturn:(int)localPlayerNr :(NSDictionary*)gameProperties :(NSDictionary*)playerProperties :(int)errorCode :(NSString*)errorString
    {
    	EGLOG(EGDbgLvl::INFO, L"");
    	if(errorCode)
    	{
    		EGLOG(EGDbgLvl::ERRORS, L"%ls", errorString.UTF32String);
    		mStateAccessor.State = STATE_CONNECTED;
    		return;
    	}
    	EGLOG(EGDbgLvl::INFO, L"localPlayerNr: %d", localPlayerNr);
    	mStateAccessor.State = STATE_JOINED;
         //NSLog(@"################## ##################### joined the game");
    }
    

    Console Log
    2015-06-17 10:35:00,124852 INFO NetworkLogic.mm -[NetworkLogic joinRoomReturn:::::] line: 1657 -
    2015-06-17 10:35:00,125028 ERROR NetworkLogic.mm -[NetworkLogic joinRoomReturn:::::] line: 1660 - User is blocked

    Please help me to resolve this issue.

    Thanks,
    Dhatchina
  • Kaiserludi
    Options
    Hi dhatchina.

    We have done some further research and although neither source of the Photon Server version that is deployed on Photon Cloud nor of the latest released Photon Server SDk (3.4) is containing that string, we have found it in the 3.2 Server SDK.

    Could you update to version 3.4 of the server SDK, please?

    I have not validated that, but I have the suspicion that that could get caused by using the exact same user name with two different devices that want to enter the same room. When the second device tries to join, then the server responds with an error because an user with that name is already inside the room.
    Could you please verify if both your iOS clients pass the same username to LoadBalancing-cpp, maybe because it's hardcoded in the source from which both clients have been built? In that case a simple fix to get your clients working with the 3.2 server would be if you just add a random number or a timestamp to the username.
  • Hi Kaiserludi,

    As you said, I added timestamp with username, now everything works well. Thanks for your reply.

    Thanks,
    Dhatchina