Ice Touch 3.6.2 Feature Set
On this page:
Comparing Ice Touch and Ice
Ice Touch 3.6.2 is based on the Ice 3.6.2 release. See the Ice 3.6.2 Release Notes for more information on Ice.
Ice Touch and Ice provide the same API and implement the same Ice protocol. Here is a brief comparison of these two products:
Feature | Ice Touch | Ice |
---|---|---|
C++, Objective-C | ||
Java, JavaScript, PHP, Python, Ruby | ||
Ice transports: tcp, ssl, ws, wss, udp | ||
Client libraries for IceGrid, IceStorm and Glacier2 | ||
Ice services (IceGrid, IceStorm etc.) | ||
Develop on OS X | ||
Develop with Xcode and Ice Builder | ||
Target OS X | ||
Target iOS | ||
Static libraries | ||
Shared libraries |
Ice Touch language mappings
Ice Touch supports the following mappings:
Ice Touch limitations
Ice Touch currently lacks support for the Ice::Application
and Ice::Service
helper classes.
Ice Touch has limited support for:
- SSL
Ice Touch for OS X uses the Ice for C++ SSL protocol plug-in based on OS X Secure Transport. For iOS devices, Ice Touch SSL provides only a subset of this functionality. Ice Touch servers on iOS cannot authenticate SSL clients for instance. The IceSSL property reference provides complete details.
- UDP
On iOS, UDP requests do not transparently establish a cellular connection.
Support for Ice Touch background applications
Ice Touch 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 theUIBackgroundModes
key of your application'sInfo.plist
.
- Set the configuration property
Ice.Voip
to1
in your communicator configuration properties. As described in the Configuring Sockets for VoIP Usage, this causes the Ice run time to set thekCFStreamNetworkServiceType
property tokCFStreamNetworkServiceTypeVoIP
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 objective-c/IceTouch/iPhone/voip
provides a demonstration of these steps.