Archived

This forum has been archived. Please start a new discussion on GitHub.

Ice Touch 1.2 and XCode 4 best practice

Hi,

i have 2 questions:

1) im wondering if there is a clean way to add the additional SDKs to the Build-Settings?

I tried to add the different SDKs to the Configurations "Debug" and "Release"...
but this doesn't work for me. If i switch from Simulator to Device i get the following Error:
error: Composite SDK failed: The base SDK uses platform 'iphonesimulator', but an additional SDK uses platform 'iphoneos'. All SDKs must use the same platform (PLATFORM_NAME).

I also tried to add a different Target... not working.

At the moment I always have to switch the SDK depend on where i want to test my app???

2) If I change the iOS Application Target identifier (xxx.xxx.appname) to something different than the standard ${PRODUCT_NAME:rfc1034identifier}, the auto-generated files are not generated anymore...

Comments

  • xdm
    xdm La Coruña, Spain
    1) im wondering if there is a clean way to add the additional SDKs to the Build-Settings?

    I tried to add the different SDKs to the Configurations "Debug" and "Release"...
    but this doesn't work for me. If i switch from Simulator to Device i get the following Error:
    error: Composite SDK failed: The base SDK uses platform 'iphonesimulator', but an additional SDK uses platform 'iphoneos'. All SDKs must use the same platform (PLATFORM_NAME).

    I also tried to add a different Target... not working.

    Have a look at the demos provided with IceTouch, the demos use $(PLATFORM_NAME)
    /Developer/SDKs/IceTouch-1.2/$(PLATFORM_NAME).sdk
    
    If I change the iOS Application Target identifier (xxx.xxx.appname) to something different than the standard ${PRODUCT_NAME:rfc1034identifier}, the auto-generated files are not generated anymore...

    I cannot reproduce this issue:
    i create a new iOS application project
    add IceTouch to additional SDKs
    update Bundle identifier to, "com.zeroc.TestT"
    Product Build, and i see slice2objc being run.

    When you build is there any error processing the Info.plist file? you can review that in Xcode Log Navigator. The slice2objc command should run after Info.plist file is processed, and you should see it in the build log, in my case i see that in Log Navigator
    ProcessInfoPlistFile /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Products/Debug-iphonesimulator/test.app/Info.plist test/test-Info.plist
        cd /Users/jose/Documents/test
        setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
        builtin-infoPlistUtility test/test-Info.plist -genpkginfo /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Products/Debug-iphonesimulator/test.app/PkgInfo -expandbuildsettings -format binary -platform iphonesimulator -o /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Products/Debug-iphonesimulator/test.app/Info.plist
    
    slice2objc test/Test.ice
        cd /Users/jose/Documents/test
        setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
        /Developer/SDKs/IceTouch-1.2/bin/slice2objc --output-dir /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Intermediates/test.build/Debug-iphonesimulator/test.build/DerivedSources --include-dir "" -I/Developer/SDKs/IceTouch-1.2/slice /Users/jose/Documents/test/test/Test.ice
    
    
  • xdm wrote: »
    Have a look at the demos provided with IceTouch, the demos use $(PLATFORM_NAME)
    /Developer/SDKs/IceTouch-1.2/$(PLATFORM_NAME).sdk
    



    I cannot reproduce this issue:
    i create a new iOS application project
    add IceTouch to additional SDKs
    update Bundle identifier to, "com.zeroc.TestT"
    Product Build, and i see slice2objc being run.

    When you build is there any error processing the Info.plist file? you can review that in Xcode Log Navigator. The slice2objc command should run after Info.plist file is processed, and you should see it in the build log, in my case i see that in Log Navigator
    ProcessInfoPlistFile /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Products/Debug-iphonesimulator/test.app/Info.plist test/test-Info.plist
        cd /Users/jose/Documents/test
        setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
        builtin-infoPlistUtility test/test-Info.plist -genpkginfo /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Products/Debug-iphonesimulator/test.app/PkgInfo -expandbuildsettings -format binary -platform iphonesimulator -o /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Products/Debug-iphonesimulator/test.app/Info.plist
    
    slice2objc test/Test.ice
        cd /Users/jose/Documents/test
        setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
        /Developer/SDKs/IceTouch-1.2/bin/slice2objc --output-dir /Users/jose/Library/Developer/Xcode/DerivedData/test-ezhrkqlxuncsrsbgpmemkwimieza/Build/Intermediates/test.build/Debug-iphonesimulator/test.build/DerivedSources --include-dir "" -I/Developer/SDKs/IceTouch-1.2/slice /Users/jose/Documents/test/test/Test.ice
    
    

    /Developer/SDKs/IceTouch-1.2/$(PLATFORM_NAME).sdk

    Sometimes things are to easy!
    Thanks! That works!

    I cant reproduce the second point anymore...
    Thanks for your help!
  • /Developer/SDKs/IceTouch-1.2/$(PLATFORM_NAME).sdk

    Sometimes things are to easy!
    Thanks! That works!

    I cant reproduce the second point anymore...
    Thanks for your help!

    Cheered too soon..

    Its only working with the Simulator. If i try to build with Device. I get the following error:

    ld: library not found for -lIceObjC
    Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang failed with exit code 1


    I also get this error with the provided examples..
  • xdm
    xdm La Coruña, Spain
    I also get this error with the provided examples..
    That is odd, seems like something is wrong with your setup.

    Can you check that you have the iphoneos.sdk libraries installed? maybe you remove it accidentally
    ls /Developer/SDKs/IceTouch-1.2/iphoneos.sdk/usr/local/lib/
    libGlacier2ObjC.a	libIceObjC.a
    
  • xdm wrote: »
    That is odd, seems like something is wrong with your setup.

    Can you check that you have the iphoneos.sdk libraries installed? maybe you remove it accidentally
    ls /Developer/SDKs/IceTouch-1.2/iphoneos.sdk/usr/local/lib/
    libGlacier2ObjC.a	libIceObjC.a
    

    The libraries where installed. But there was another problem with the installation. I dont know what went wrong. But after reinstalling the ICE-Plugin, its working fine.

    I can remember, that i did something like this: export PATH=/opt/IceTouch-1.2/bin:$PATH
    To generate the Slice-Files with slice2objc more comfortable. Maybe this broke my installation?

    Thanks for your help xdm

    PS: The new installation doesn't solve my problem with the static library :(