Photon-iPhone_v3-0-0-0-PublicAlpha_SDK Device build error

peteo
edited November 2011 in Native
The demos in the Photon-iPhone_v3-0-0-0-PublicAlpha_SDK , Simlator can build ,
but Device build error.

Comments

  • Hi.
    Can you give us the detailed error message from Xcode and the device model (iPhone, iPod Touch or iPad, which generation of it and which OS version?), for your are trying to build, please.
  • device :iPhone

    Version: 3.2 (10M2518)
    Location: /Developer
    Applications:
    Xcode: 3.2.6 (1761)
    Interface Builder: 3.2.6 (851)
    Instruments: 2.7 (3017)
    Dashcode: 3.0.2 (333)
    SDKs:
    Mac OS X:
    10.5: (9L31a)
    10.6: (10M2518)
    iPhone OS:
    4.3: (8F191m)
    iPhone Simulator:
    3.2: (7W367a)
    4.0: (8A400)
    4.1: (8B117)
    4.2: (8C134)
    4.3: (8F192)
  • "ExitGames::LitePeer::opRaiseEvent(bool, ExitGames::Hashtable const&, unsigned char, unsigned char, int*, short)", referenced from:
    CPhotonLib::sendData() in PhotonDemo.o
    "ExitGames::PhotonPeer::Connect(ExitGames::JString const&, unsigned char const*)", referenced from:
    CPhotonLib::CreateConnection() in PhotonDemo.o
    "ExitGames::Hashtable::toString(bool) const", referenced from:
    Listener::onEvent(ExitGames::EventData const&) in demo_iPhone_photon_cpp.o
    "ExitGames::PhotonPeer::service(bool)", referenced from:
    CPhotonLib::Run() in PhotonDemo.o
    "ExitGames::Object::getSize() const", referenced from:
    Listener::onEvent(ExitGames::EventData const&) in demo_iPhone_photon_cpp.o
    "ExitGames::JString::ANSIRepresentation() const", referenced from:
    Listener::onEvent(ExitGames::EventData const&) in demo_iPhone_photon_cpp.o
    "ExitGames::JString::~JString()", referenced from:
    Listener::debugReturn(PhotonPeer_DebugLevel, ExitGames::JString const&) in demo_iPhone_photon_cpp.o
  • I try it in another Xcode

    Version: 3.2 (10M2423)
    Location: /Developer
    Applications:
    Xcode: 3.2.5 (1760)
    Interface Builder: 3.2.5 (823)
    Instruments: 2.7 (3017)
    Dashcode: 3.0.2 (333)
    SDKs:
    Mac OS X:
    10.5: (9L31a)
    10.6: (10M2423)
    iPhone OS:
    4.2: (8C134)
    iPhone Simulator:
    3.2: (7W367a)
    4.0: (8A400)
    4.1: (8B117)
    4.2: (8C134)


    it can build success , but 1665 bulid warnings
  • What kind of iPhone do you try to build for? first gen, 3g, 3gs, 4 or 4s?
    Do you make an universal build, an armv6 only or a an armv7 only build?
  • TARGETED_DEVICE_FAMILY = iPhone
    IPHONEOS_DEPLOYMENT_TARGET = iOS 3.0
    armv6

    I try armv7,The same problem.
  • In your project settings please set "Architectures" to "Optimized (armv7)". That fixed it for me, after I have reproduced it in Xcode 3.2.6.

    The Photon 3 iOS client libs do not include armv6 builds anymore, but the device builds are armv7 only, as Xcode 4 compatibility for universal builds isn't the best. Xcode 3.2.6 seem to not like it, when an app with armv7 specified as valid architecture tries to link to a lib, which is armv7 only (XXcode 4 does not have a problem with this setup).
  • Thank you ,I can build it now.
    But it EXC_BAD_ACCESS on Device(Touch4 iOS 4.3.3)

    Program received signal: “EXC_BAD_ACCESS”.
    warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3.3 (8J2)/Symbols/Developer/usr/lib/libXcodeDebuggerSupport.dylib (file not found).
    Xcode could not locate source file: CPhotonPeer.cpp (line: 286)
    (gdb) bt
    #0 0x000209a4 in PhotonPeer_internal_cbNetConnect (pPeer=0x2fdfe294, nError=901270036) at /Developer/egn/neutron-windows/trunk/Photon-c/src/CPhotonPeer.cpp:286
    #1 0x00024ec2 in EnetPeerLayer::ConnectService (this=0x1a4f70, pConnect=0x1a4f90) at /Developer/egn/neutron-windows/trunk/Photon-c/src/EnetPeerLayer.cpp:175
    #2 0x00022e50 in PhotonPeer_serviceBasic (pPeer=0x1a5040) at /Developer/egn/neutron-windows/trunk/Photon-c/src/CPhotonPeer.cpp:1347
    #3 0x00022d46 in PhotonPeer_serviceInternal (pPeer=0x1a5040, dispatch=true) at /Developer/egn/neutron-windows/trunk/Photon-c/src/CPhotonPeer.cpp:1358
    #4 0x00022d0e in PhotonPeer_service (pPeer=0x1a5040) at /Developer/egn/neutron-windows/trunk/Photon-c/src/CPhotonPeer.cpp:1291
    #5 0x0001333c in -[PhotonPeer service:] (self=0x1a47d0, _cmd=0x2856a, dispatchIncomingCommands=true) at /Developer/egn/neutron-windows/trunk/Photon-objc/src/PhotonPeer.m:559
    #6 0x00013308 in -[PhotonPeer service] (self=0x1a47d0, _cmd=0x3060da00) at /Developer/egn/neutron-windows/trunk/Photon-objc/src/PhotonPeer.m:537
    #7 0x000117ec in -[CPhotonLib Run] (self=0x1a31c0, _cmd=0x29972) at /Users/Peteo/Downloads/Photon-iPhone_v3-0-0-0-PublicAlpha_SDK(1)/Demos/demo_iPhone_photon_objc/Classes/PhotonDemo.m:63
    #8 0x00010d9e in -[demo_iPhone_photon_objcAppDelegate onTime:] (self=0x188f20, _cmd=0x29269, Timer=0x1a5530) at /Users/Peteo/Downloads/Photon-iPhone_v3-0-0-0-PublicAlpha_SDK(1)/Demos/demo_iPhone_photon_objc/Classes/demo_iPhone_Photon_objCAppDelegate.m:21
    #9 0x335247cc in __NSFireTimer ()
    #10 0x35b4aa46 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()
    #11 0x35b4ceca in __CFRunLoopDoTimer ()
    #12 0x35b4d844 in __CFRunLoopRun ()
    #13 0x35addec2 in CFRunLoopRunSpecific ()
    #14 0x35adddca in CFRunLoopRunInMode ()
    #15 0x308d241e in GSEventRunModal ()
    #16 0x308d24ca in GSEventRun ()
    #17 0x328a1d68 in -[UIApplication _run] ()
    #18 0x3289f806 in UIApplicationMain ()
    #19 0x00012aee in main (argc=1, argv=0x2fdff37c) at /Users/Peteo/Downloads/Photon-iPhone_v3-0-0-0-PublicAlpha_SDK(1)/Demos/demo_iPhone_photon_objc/main.m:6
    Current language: auto; currently c++
  • I am trying to build Photon Client against older versions of iOS down to 3.1 using 1st Gen iPod Touch device but the apparently the current Photon iPhone SDK doesn't support armv6 architecture.... is there a way to overcome this or is there an update to the SDK that will cover this soon?

    I am currently using XCode 4, also we are planning to build a MAC version of the app, will there be any issues in the future?

    Thank you.
  • Kaiserludi
    Kaiserludi admin
    edited November 2011
    @peteo:
    I could reproduce it here: Seems, that apps, which have been build with Xcode 3.2.6, get totally screwed up, when linking to libs, which have been built with Xcode 4.2 (your callstack should not be possible at all, as EnetPeerLayer::ConnectService() doesn't call PhotonPeer_internal_cbNetConnect() ).
    The beta SDK will be built with Xcode 3.2.6, as it looks, like Xcode 4 built apps work fine with Xcode 3 built libs, but I don't know, how long we are able to maintain compatibility to an IDE version, which isn't any longer supported by Apple for up to date iOS SDKs like 5.x, so I would recommend you to switch to Xcode 4.

    @Local Aliens:
    Older versions of iOS are still supported down to 3.0, but support for armv6 devices (iPod Touch 1st and 2nd generation and iPhone original and 3G) has been dropped. It is just causing to much serious issues with Xcode 4.2 and iOS SDK 5.x.
    Xcode 4 has become our main IDE on OS X by now, so you are less likely to experience problems with Photon related to your IDE with Xcode 4 than with Xcode 3. About OSX: osx clients are not publicly available yet due to lack of demand for them in the past. This is about to change, but at the moment you have to use unofficial builds, provided by forum, mail, etc., which come without osx-related chapters in docs (use the iPhone ones instead) and without any demos.

    PS:
    iOS 3.0.0.0 Beta SDKs will probably be available for download tomorrow.
  • The beta is now available. Please try that SDK.
  • Thank you!!!
  • The beta SDK solved the problem....
  • Apple is working on a patch to overcome this soon by simply no longer allowing ARMV6 targeting at all ... ARMV6 targeted app approval is in its final months to days (who knows, apple isn't gonna announce that more than 2 weeks upfront), its a matter of time until you have to for the 5.0+ base SDK which will automatically remove ARMV6 from existance as Apple ceased the support of ARMV6 with iOS 4.3 already
  • dreamora wrote:
    Apple is working on a patch to overcome this soon by simply no longer allowing ARMV6 targeting at all ... ARMV6 targeted app approval is in its final months to days (who knows, apple isn't gonna announce that more than 2 weeks upfront), its a matter of time until you have to for the 5.0+ base SDK which will automatically remove ARMV6 from existance as Apple ceased the support of ARMV6 with iOS 4.3 already

    I can imagine the long lines in front of every Apple Retail store like if it was the release-day of a new iPhone version, when suddenly thousands of developers need replacements for ten-thousands of old dev- and test-devices at one time :D