Archived

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

Update Xcode without being depending on Ice Updates

Hello,

we use Ice Touch,
many times when we should update our Xcode we get plugin (Ice Touch/Builder) compatibility problems,
we don't want to be depending on Ice updates each Xcode update
please advise us how to bypass this issue?

Thanks,
Moshe

Comments

  • joegeorge
    joegeorge Jupiter, Florida
    Hi Moshe

    We update Ice Builder for Xcode whenever a new version of Xcode is released. However, we do not support beta versions.

    If you are running an unsupported version of Xcode and wish to fix an issue yourself, you can find the source code at https://github.com/zeroc-ice/ice-builder-xcode. Please feel free to submit a pull request with any fixes.

    Otherwise, you will have to compile your Slice files and configure your Xcode project manually.

    Cheers,
    Joe
  • Otherwise, you will have to compile your Slice files and configure your Xcode project manually.

    could you give us instructions how could we:
    1) compile Slice files without Xcode
    2) configure Xcode to work with ice project

    Thanks, Moshe
  • benoit
    benoit Rennes, France
    You should be able to write a custom build rule to compile the Slice files, see Adding a Build Rule to a Target for information on this.

    For the build settings, you will need to add the Ice Touch SDK include and lib directory to the header and library search path settings (the include and lib directories are located in /Library/Developer/IceTouch-1.3.3/SDKs/ObjC/$(PLATFORM_NAME)/usr/local, replace ObjC with Cpp if you're using the C++ SDK).

    For the linking, you will need to add:
    • Objective-C: -lIceObjC -ObjC
    • C++ with libstdc++: -lIce -lstdc++
    • C++ with libc++: -lIce-libc++ -lc++

    If compiling for OS X, you will also need to add -lbz2 -liconv.

    Cheers,
    Benoit.
  • Thanks benoit,
    For the linking, you will need to add:

    Objective-C: -lIceObjC -ObjC
    C++ with libstdc++: -lIce -lstdc++
    C++ with libc++: -lIce-libc++ -lc++


    If compiling for OS X, you will also need to add -lbz2 -liconv.

    1) where i should add those flags?

    2) do i need to uninstall ICE Touch plugin and Ice builder?
  • benoit
    benoit Rennes, France
    Hi,

    Yes, you will need to un-install the Ice builder otherwise it will continue to automatically compile the Slice files. You can set the linker library options with the "Other Linker Flags" setting in the Xcode build settings.

    You could also directly add the libraries in the Xcode project (you can add the libraries in the "Link Binary with Libraries" build phase of your project).

    Cheers,
    Benoit.
  • You should be able to write a custom build rule to compile the Slice files, see Adding a Build Rule to a Target for information on this
    could you give us instructions what should be our Custom Build Rule