Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Ice Touch is based on the Ice 3.5.1 release. For  For more information see the Ice 3.5.1 Release Notes.

Changes and fixes in Ice Touch 1.3.

...

3

  • Ice Touch now requires Xcode 5Xcode 6
  • Updated Ice Touch to support Xcode 6.0
  • Updated Ice Touch to support iOS

    7
  • Added support for SOCKSv4 proxies, which allows outgoing TCP & SSL connections using IPv4 to be mediated by a network proxy service. Note that the iOS simulator doesn't support SOCKS proxies.

  • 8.0

  • Fixed a bug where servers wouldn't be able to accept new connections after the application was put in the backgroundObjective-C applications can now use libc++ or libstdc++, with libc++ the default when targeting iOS 7.

 

Ztop

Corresponding Ice release

The Slice definitions included in Ice Touch 1.3 are the same as the Slice definitions included in Ice 3.5.1. In particular, the Glacier2, IceGrid, and IceStorm client libraries included in this Ice Touch release use the Ice 3.5.1 definitions. If a future Ice release adds new APIs (such as a new operation, or a new interface) to one of these services, you will need to rebuild these libraries using the newer Slice definitions in order to use the new APIs.

Ztop

Deprecated features in Ice Touch 1.3.1

The SDKs for Objective-C and C++ provide support for libc++ and libstdc++, but libc++ is now preferred.

For OS X and Cocoa, the Ice Touch run time is no longer built with garbage collection support. The use of automatic reference counting (ARC) is now preferred over garbage collection. If you need garbage collection for your Ice Touch OS X applications, you will need to build Ice Touch from source.

Ztop

Known problems in Ice Touch 1.3.1

On iOS devices, connection establishment occasionally hangs when using the SSL transport. This problem occurs in particular with the Ice Touch test suite which opens a large number of connections over the loopback interface. We have never experienced this problem outside the test suite environment. If you are using the SSL transport, we recommend setting the Ice.Overidde.ConnectTimeout property to a reasonable timeout value to work-around this issue. If you built Ice Touch from source and run the tests with SSL enabled, you might experience some test failures because of this issue. We have submitted a test case to Apple to try to solve this problem.

Ztop

Upgrading your application from previous Ice Touch versions

...

  • /Library/Developer/IceTouch-1.3/SDKs/ObjC/$(PLATFORM_NAME).sdk for the Objective-C SDK
  • /Library/Developer/IceTouch-1.3/SDKs/Cpp/$(PLATFORM_NAME).sdk for the C++ SDK

You also need to update the project setting "Header Search Paths" to include the Ice Touch SDK include directory.

  • /Library/Developer/IceTouch-1.3/SDKs/ObjC/$(PLATFORM_NAME).sdk/usr/local/include for the Objective-C SDK
  • /Library/Developer/IceTouch-1.3/SDKs/Cpp/$(PLATFORM_NAME).sdk/usr/local/include for the C++ SDK

If you're not using the Cocoa or iOS SDKs but rather the command-line SDK, you will need to update the "Ice Home" setting.

...

The Ice run time creates an NSAutoReleasePool object before dispatching server-side invocations and client-side AMI callbacks. The pool is released once the dispatch is complete.

Ztop

Support for background applications

IceTouch supports VoIP applications as documented in Executing Code in the Background.

Follow these steps to ensure your application is correctly configured:

  • Add the voip flag to the UIBackgroundModes key of your application's Info.plist.
  • Set the configuration property Ice.Voip to 1 in your communicator configuration properties. As described in the Configuring Sockets for VoIP Usage, this causes the Ice run time to set the kCFStreamNetworkServiceType property to kCFStreamNetworkServiceTypeVoIP for all sockets.
  • Before moving your application to the background, call the setKeepAliveTimeout:handler: method to specify the frequency at which your application must be woken to maintain your service.

The sample application demo/iPhone/voip provides a demonstration of these steps.

Ztop

Targeting iOS >= 5.1.1

Xcode 5 6 targets iOS 7 8 by default. To build your application for an iOS >= 5.1.1 target, you will need to modify your Xcode project as follows:

...