Display Preferences What's New in Delphi and C++Builder XE4 Go Up to What's New
RAD Studio XE4 is the first release of the FireMonkey mobile platform, featuring Delphi cross-platform application development for the iOS Simulator and iOS Device: ★ iOS Mobile Application Development ★ iOS Tutorials: Delphi iOS Application Development ★ Migrating Delphi Code to iOS from Desktop ★ FireMonkey Mobile Form Designer Contents [hide] 1 Getting Started with iOS Application Development (iOS Tutorials) 1.1 Setting Up Your iOS Development Environment 1.2 Using Basic iOS User Interface Elements 1.3 Using iOS Device Functionality 1.4 Accessing a Database 2 FireMonkey Changes for XE4 2.1 Components for iOS 2.1.1 Camera for iOS 2.1.2 Magnifier Glass 2.1.3 Phone Dialer for iOS 2.1.4 Pickers for iOS 2.1.5 Text Editing in iOS 2.1.6 Virtual Keyboard for iOS 2.1.7 WebBrowser for iOS 2.2 FireMonkey Frames 2.3 Touch and Gestures for iOS 2.4 New TListView Component, Compared to Existing TListBox Component 2.5 Media Actions for iOS 2.6 Native Styles for iOS 2.7 Using Styles in XE4 2.8 Mac OS X Fullscreen Mode 2.9 Sensors 2.10 Text Layout and Text Service Enhancements 2.10.1 Text Layout 2.10.2 Text Service 2.11 FireMonkey Services 2.11.1 Platform Services 2.11.2 Notification Center for iOS 2.12 Margins and Padding for FireMonkey Controls 2.13 New FireMonkey Units 2.14 Refactored FireMonkey Classes 2.14.1 Caret Property Now Published 2.14.2 HScrollBar and VScrollBar Now Protected 2.15 Improvements in Action List editor 2.16 FireMonkey Advanced Platform-Independent Scrolling Engine 3 Platform Assistant (PAServer) Changes for XE4 3.1 Installer and Name Changes on the Mac 3.2 Help Reorganized for PAServer 4 Delphi Compiler Changes for XE4 4.1 Two New Delphi Mobile Compilers for iOS 4.1.1 Differences between Delphi Desktop Compilers and Delphi Mobile Compilers 4.2 New Delphi Compiler Conditionals 4.3 New Delphi Compiler Directives 4.4 New Delphi Compiler Attributes 5 IDE Changes for XE4 5.1 New FireMonkey Mobile Wizard 5.2 iOS Target Platforms Supported 5.3 New Mobile Form Designer 5.4 Connection Profiles and SDKs (Replacing Remote Profiles) 5.4.1 API Implementation of Connection Profiles and SDKs 5.5 IDE and Project Options Changes 5.5.1 Form Designer 5.5.2 Application Options 5.5.3 Version Info 5.5.4 Provisioning 5.5.5 Delphi Compiler Project Options 6 C++ Compiler Changes for XE4 7 Database Changes for XE4 8 DataSnap Changes for XE4 9 LiveBindings Changes for XE4 10 Run-Time Library (RTL) Changes for XE4 11 Debugger Changes for XE4 12 Application Samples Changes for XE4 12.1 New FireMonkey iOS Samples 12.2 New FireMonkey iOS Code Snippets 13 Online Help Changes for XE4 13.1 Checkbox to Display or Hide Inherited Members 13.2 PAServer Help Reorganized 13.3 Some Notable New Help Topics 13.4 Some Notable New Code Examples 14 See Also Getting Started with iOS Application Development (iOS Tutorials)
Walk through our tutorials that get you started doing iOS application development in RAD Studio: Setting Up Your iOS Development Environment iOS Tutorials: Delphi iOS Application Development Set Up Your Development Environment on the Mac Set Up Your Development Environment on Windows PC Using Basic iOS User Interface Elements Creating a FireMonkey iOS Application Using a Button Component with Different Styles in an iOS Application Using a Calendar Component to Pick a Date in an iOS Application Using Combo Box Components to Pick Items from a List in an iOS Application Using the Web Browser Component in an iOS Application Using Tab Components to Display Pages in an iOS Application Using ListBox Components to Display a Table View in an iOS Application Using Layout to Adjust Different Form Sizes or Orientations in an iOS Application Using iOS Device Functionality Taking and Sharing a Picture in an iOS Application Using Location Sensors on the iOS Device Using the Notification Center on the iOS Device Accessing a Database Using InterBase ToGo in an iOS Application Using SQLite in an iOS Application Connecting to an Enterprise Database from an iOS Client Application FireMonkey Changes for XE4
Components for iOS The following components are new for XE4: Camera for iOS TCameraComponent is introduced for accessing the front and back camera and flash of a mobile device. Magnifier Glass The new FireMonkey TMagnifierGlass component provides a popup magnifier glass for text and images on the iOS platform. You can change the scale, and choose between a circular and a rectangular magnifier glass. The magnifier glass is automatically enabled for iOS text components such as TMemo. Although the magnifier glass is supported on all platforms, it is not automatically enabled on Windows or Mac. Phone Dialer for iOS Phone Dialer support is now provided for iOS applications. The new PhoneDialer allows you to make calls, get the cellular service provider information or get information about a specific call. Pickers for iOS Date Picker: FireMonkey introduces the date picker for both iPhone and iPad. You can now use the native rotating wheel picker for components that require date selection in iOS applications. For more information on how to use a date picker in your application, see: IOS Tutorial: Using a Calendar Component to Pick a Date in an iOS Application Using Pickers to Provide Platform-Specific Behavior and View of Selection Controls Customizable Picker: FireMonkey provides a customizable picker for choosing a value from any list of items. See: IOS Tutorial: Using Combo Box Components to Pick Items from a List in an iOS Application FMX.Pickers Text Editing in iOS All text components that inherit from TCustomEdit and TMemo now support the standard editing actions: Cut, Copy, Paste, Select All, Select Word, manual selection (with two selection points), changing the cursor position (with magnifier glass). In addition, the virtual keyboard pops up when a text edit control is selected at run time. Virtual Keyboard for iOS Various Keyboard Types on iOS For text controls, FireMonkey provides several types of keyboards that can restrict the type of input text that is accepted: numeric, alphanumeric, characters or groups of characters to build a URL or an email address. Available keyboard types are listed in TVirtualKeyboardType. To set the virtual keyboard, use the KeyboardType property in the Object Inspector. For an example of using KeyboardType, see Select the Proper Keyboard for the Web Browser Application. Keyboard Toolbar FireMonkey enables you to create a keyboard toolbar. The services added through the VirtualKeyboard unit allow you to control toolbar visibility and also to add custom buttons. To make the toolbar visible, use the SetToolbarEnabled method. To control and customize the buttons within the created keyboard, use AddButton, DeleteButton or ButtonsCount. WebBrowser for iOS FireMonkey introduces the TWebBrowser component, which loads and displays Web content and local files in an iOS application. TWebBrowser has support for the basic functions of a browser: navigate, go back, go forword, along with specific events. For an iOS Web browser example see: IOS Tutorial: Using the Web Browser Component in an iOS Application. FireMonkey Frames FireMonkey now has support for frames. See Frames in FireMonkey and Working with Frames. To create a new frame in FireMonkey, choose: File > New > Delphi (or C++Builder) Projects > Delphi (or C++Builder) Files > FireMonkey Frame Touch and Gestures for iOS FireMonkey introduces touch and gesture support for iOS applications. The following interactive gestures are supported in FireMonkey iOS applications: Long tap (Tap-and-Hold, Long-Press, or Press) - NEW, for iOS only Double tap - NEW, for iOS only Pan Rotate Two-Finger Tap Zoom and Pinch To associate an interactive gesture with a FireMonkey control, find the Touch property in the Object Inspector, and select from the list of Interactive Gestures. For details about gestures, see Gestures in FireMonkey. New TListView Component, Compared to Existing TListBox Component FireMonkey now has two different list components. The two list components provide similar functionality, but each list is intended to be used for distinct purposes: TListView is intended to be used for long, data-bound, scrollable lists, where optimal scrolling performance and responsiveness are required. TListView is supported on all target platforms. You can set group headers to categorize your data alphabetically, by industry, and so on, depending on your data source. You can add items to a TListView by binding to a data source, or by code (Items.Add). TListBox is designed for short lists that are typically no longer than the length of the form and are not intended to be scrolled to any degree. Uses for TListBox include user sign-up and log-in forms, and settings-type list boxes with rounded corners such as those you might see in many iOS applications. You can add items to a TListBox manually (using the Add Items context menu command) or via a data source. Media Actions for iOS FireMonkey introduces standard media actions through the FMX.MediaLibrary.Actions unit: Take the photo to be used in applications from the camera device: TTakePhotoFromCameraAction. Access/retrieve photo from the Camera Roll (local library): TTakePhotoFromLibraryAction. Share Sheet functionality: sharing photos and/or text via message (SMS), mail, social networks (Facebook, Twitter etc). In order to share text and/or photos use TShowShareSheetAction. These actions can be accessed from the Action List editor under the Media Library section. For an example of how to use the media library actions see iOS Tutorial: Taking and Sharing a Picture in an iOS Application. Native Styles for iOS FireMonkey introduces a full set of components with native iOS styling support, including buttons, toolbars, listboxes, sliders and switch controls. Extended ListBox capabilities for iOS, including header/footer/group styling, embedded search and expanded LiveBindings support. For more information about ListBox and the new ListView component, see #New TListView Component, Compared to Existing TListBox Component. Native iOS application styling for iPhone, iPad (Retina and non-Retina) on iOS 5.1 and 6.x are now supported in FireMonkey. The StyleLookup property now supports the native iOS look. You can use StyleLookup to easily switch between different styles for the same control in an iOS application. See iOS Tutorial: Using a Button Component with Different Styles in an iOS Application for more details. Antialiasing is disabled by default in iOS. You can enable antialiasing on the iOS Device by changing the FMX.Form.Quality property. On the iOS simulator, antialiasing is always disabled and cannot be enabled. Using Styles in XE4 FireMonkey bitmap-based styles now include native styling for iOS, Windows, and Mac. You can create your own custom bitmap-based styles using the included Bitmap Style Designer. You can also work with vector styles in FireMonkey desktop and mobile apps. When using vector styles in iOS apps, there are some limitations with regard to stroke painting and clipping, and gradients have a limit of 4 key-points. Mac OS X Fullscreen Mode FireMonkey offers fullscreen support, including the two-arrows icon that appears in the top right-hand corner in a Mac application, allowing to go into or out of fullscreen mode. To enable the fullscreen icon, use the ShowFullScreenIcon property. To start the application in fullscreen mode, use the FullScreen property. For more information see Fullscreen Mode on Mac OS X. Sensors FireMonkey introduces support for multiple sensors. A list of supported sensors can be seen in the FMX.Sensors unit: Location sensors for GPS and triangulation Motion sensors for accelerometer access on iOS and Windows Orientation sensors (gyroscope/compass) on iOS and Windows See also IOS Tutorial: Using Location Sensors on the iOS Device. Text Layout and Text Service Enhancements The implementation of rendering functionality is moved from FMX.Text to a new unit FMX.TextLayout. For more information, see: FireMonkey Text Layout Using FireMonkey Text Layout Features Text Layout FireMonkey introduces iOS support for TTextLayout and also provides new functionalities: Render text on a canvas using RenderLayout. Convert text to a TPathData using the ConvertToPath procedure. Text Service Actions for manipulating the text, such as selected text manipulation, line drawing and cursor manipulation functions are available for iOS. Standard actions are exposed by ITextActions. FireMonkey Services Platform Services FireMonkey XE4 introduces a feature called Platform Services that is useful for returning whether the platform that will run your application actually supports a given service or not. For more information see FireMonkey Platform Services. Notification Center for iOS Notifications are ways for an application that is not running in the foreground to let its users know about useful information for them. A new unit is introduced: FMX.Notification Margins and Padding for FireMonkey Controls In FireMonkey XE4 the behavior of Margins and Padding are exchanged: Padding adds space to the inner side of a control. Margins adds space to the outer side of a control. Now margins and padding in FireMonkey respect the CSS Box Model and the established definition used in VCL. For more information about how to use Margins and Padding see Aligning with Margins and Padding and Using Common Layout-Related Properties of a FireMonkey Component. New FireMonkey Units FMX.WebBrowser FMX.Sensors (introduced before XE4) FMX.Pickers FMX.PhoneDialer FMX.MedialLibrary.Actions FMX.MagnifierGlass FMX.InertialMovement FMX.Header FMX.Controls.3D Refactored FireMonkey Classes Some FireMonkey classes have been moved to different units. Examples of refactoring in FireMonkey: Controls from the FMX.Controls unit have been moved into FMX.StdCtrls, such as: FMX.Controls.TAniIndicator is now FMX.StdCtrls.TAniIndicator FMX.Controls.TButton is now FMX.StdCtrls.TButton FMX.Controls.TCalloutPanel is now FMX.StdCtrls.TCalloutPanel FMX.Controls.TCheckBox is now FMX.StdCtrls.TCheckBox FMX.Controls.TToolBar is now FMX.StdCtrls.TToolBar FMX.Types.IScene is now FMX.Controls.IScene FMX.Types.TTextControl is now FMX.Controls.TTextControl FMX.Types3D.TViewPort3D is now FMX.Viewport3D.TViewport3D FMX.TForm3D and FMX.TCustomForm3D are now FMX.Forms3D These refactoring changes should be transparent to you, as long as the new parent unit (such as FMX.StdCtrls) is referenced in #include or uses, and you do not specify the old unit name (such as FMX.Controls) in references to the classes in question. However, if you are migrating a pre-existing project that uses FMX.TForm3D, you might need to add the new unit name (FMX.Forms3D) in your #include or uses. For a more complete list of refactored classes, see Refactored FireMonkey Classes in XE4.
Caret Property Now Published The Caret property in the TEdit, TClearingEdit, and TMemo controls is re-declared with the published visibility. Therefore, the Caret property of these controls appears in the Object Inspector. HScrollBar and VScrollBar Now Protected HScrollBar and VScrollBar are re-declared as protected properties of TScrollBox and its inheritors, such as TMemo: HScrollBar VScrollBar Improvements in Action List editor The Categories pane shows the hierarchical tree of names of the Actions.TContainedAction.Category properties belonging to actions in an action list. This tree might contain several levels of branches. For example, the category File (branch of the top level) might contain the Export sub-category (branch of the second level) containing several actions. In this case the Category property in the Object Inspector shows both File and Export categories concatenated with a dot (File.Export). FireMonkey Advanced Platform-Independent Scrolling Engine Scrolling under iOS is more sophisticated than the default scrolling under Windows. The TAniCalculations class provides the universal scrolling engine supporting all iOS scrolling features. The TAniCalculations scrolling engine provides the same physical scrolling features under all platforms supported by FireMonkey. By default, on each platform the TAniCalculations scrolling engine gets scrolling behavior properties that provide the standard scrolling behavior for the platform. But you can programmatically set values of scrolling properties, which emulate scrolling behavior typical for other platforms. For example, you can select emulation of iOS scrolling behavior under Windows and vice versa. Here are some of the scrolling parameters that you can set or specify: Whether the scrolling is animated (FMX.InertialMovement.TAniCalculations.Animation). The deceleration rate shown by the animation (FMX.InertialMovement.TAniCalculations.DecelerationRate) Whether the scrolling animation is bound to the area (FMX.InertialMovement.TAniCalculations.BoundsAnimation) Whether the scrolling bars appear automatically when scrolling is initiated (FMX.InertialMovement.TAniCalculations.AutoShowing) Whether the scrolling bars are hidden automatically when they are not needed (FMX.InertialMovement.TAniCalculations.Shown) Platform Assistant (PAServer) Changes for XE4
Installer and Name Changes on the Mac On the Mac, the Platform Assistant has changed as follows: Platform Assistant installer: The installer for the Platform Assistant on the Mac has changed, and it is now named RADPAServerXE4.pkg. You can obtain the installer in two places: In the PAServer folder inside the RAD Studio installation directory. For example, C:\Program Files\Embarcadero\RAD Studio\n.n\PAServer\RADPAServerXE4.pkg. On the Web for download to the Mac http://installers.codegear.com/release/radstudio/11.0/PAServer/RADPAServerXE4.pkg Platform Assistant server on Mac: The Platform Assistant server is delivered in the app bundle RAD PAServer XE4.app. RAD PAServer XE4.app is installed in the main Applications folder on the Mac. To run the Platform Assistant on the Mac, double-click RAD PAServer XE4.app in the Finder, or open the app bundle and run paserver on the Terminal. The documentation for the Platform Assistant has also changed. See the following topics: PAServer, the Platform Assistant Server Application Installing the Platform Assistant on a Mac Running the Platform Assistant on a Mac On Windows, only the install directory has changed: The paserver.exe file is installed in C:\Program Files\Embarcadero\RADPAServer\n.n. Previously, the folder name was C:\Program Files\Embarcadero\RAD Studio\n.n\PAServer. Platform Assistant installer is unchanged, and its name remains setup_paserver.exe. The name of the Platform Assistant server is also unchanged: paserver.exe. Help Reorganized for PAServer The help for the Platform Assistant has been reorganized and is now located in the Command Line Utilities section: PAServer, the Platform Assistant Server Application Installing the Platform Assistant on Windows Running the Platform Assistant on Windows Installing the Platform Assistant on a Mac Running the Platform Assistant on a Mac Acquiring Permission to Support Debugging on a Mac Setting Options for the Platform Assistant Delphi Compiler Changes for XE4
Two New Delphi Mobile Compilers for iOS The iOS target platform is supported only in Delphi mobile applications, which use one of the two new Delphi mobile compilers available in XE4: DCCIOS32.EXE, the Delphi Cross Compiler for the iOS Simulator DCCIOSARM.EXE, the Delphi Cross Compiler for the iOS Device Differences between Delphi Desktop Compilers and Delphi Mobile Compilers The two Delphi mobile compilers (DCCIOSARM and DCCIOS32) are quite different from the Delphi desktop compilers (DCC32, DCC64, DCCOSX). The mobile compilers can be considered a "Next Generation" of the Delphi language, and the mobile platform is a new step in the continuing evolution of the Delphi language. Keep in mind, however, that the language differences typically are not related to platform differences. To summarize: No inline assembly is supported on iOS, but four atomic intrinsic functions are supported by the Delphi mobile compiilers COM is not supported Seven of the older string types are not supported: AnsiString WideString AnsiChar and PAnsiChar PWideChar OpenString ShortString Strings are: Immutable (constant), so you cannot index into a string as an array and manipulate the characters in a string If you attempt to modify a string, the Delphi mobile compilers might emit the message W1068 Modifying strings in place may not be supported in the future (Delphi). You can specify whether the message x1068 is emitted as a warning or an error. In the Hints and Warnings page, set the warning "Modifying strings in-place...." to "true" or "error". 0-based instead of 1-based (requiring possible changes to string handling routines) You can use the new Delphi compiler directive {$ZEROBASEDSTRINGS} to change the string indexing scheme locally. However, the RTL for the Delphi mobile compilers uses 0-based strings, so you must use 0-based strings when you are using the RTL in a Delphi mobile app. For example, {$ZEROBASEDSTRINGS} is useful if you have an isolated instance of in-place string editing that you cannot migrate to 0-based indexing at the moment. It is not safe to use {$ZEROBASEDSTRINGS} for code larger than a snippet; do not use {$ZEROBASEDSTRINGS} for an entire module or application. For all string handling, we recommend using TStringHelper functions. See Migrating Delphi Code to iOS from Desktop for examples. For editing a string in place, we recommend using TStringBuilder. Automatic Reference Counting is on by default for classes as well as interfaces, strings and dynamic arrays. Note: The With statement might not be supported in the future by the mobile compilers or new compilers. We recommend that you refactor or rewrite any With statements in your code base, and eliminate With statements where possible. For more information about writing code for the Delphi mobile compilers, see Migrating Delphi Code to iOS from Desktop. New Delphi Compiler Conditionals The following new conditionals are introduced in XE4: AUTOREFCOUNT CPUARM EXTERNAL_LINKER IOS NEXTGEN UNDERSCOREIMPORTNAME WEAKREF WEAKINSTREF WEAKINTREF For more information, see "Predefined Conditionals" in Conditional compilation (Delphi). New Delphi Compiler Directives The following new compiler directives are introduced in XE4: {$ZEROBASEDSTRINGS} (Zero-based strings) {$EXTENDEDCOMPATIBILITY} (Extended type compatibility) For more information, see Delphi Compiler Directives (List) Index. New Delphi Compiler Attributes The following new compiler attributes are introduced in XE4: The [volatile] attribute is used to mark fields that are subject to change by different threads, so that code generation does not optimize copying the value in a register or another temporary memory location. The [weak] attribute is used to mark a declaration as a weak reference. For more information, see Automatic Reference Counting in Delphi Mobile Compilers and E2584 Weak attribute only allowed on fields and variables of type class or interface: '%s' (Delphi). The [Ref] attribute is used to qualify constant function parameters so that they are passed by reference (not by value) to the function. For more information, see Constant Parameters. IDE Changes for XE4
FireMonkey iOS Mobile Application Wizard New FireMonkey Mobile Wizard FireMonkey Mobile Application: When you select File > New > FireMonkey Mobile Application - Delphi, the FireMonkey Mobile Application wizard opens, and you are prompted to select one of the following FireMonkey Mobile Application types: Blank Application - with no preset components 3D Application - with no preset components Header/Footer Header/Footer with Navigation Tabbed Tabbed with Navigation Phone Master-Detail Tablet Master-Detail You can use one of the mobile application templates as your starting point when you create a new application. A template is a predefined mobile application, a project that contains forms that are preconfigured with components. For more information, see FireMonkey Mobile Application Templates. FireMonkey Mobile Form is a new wizard for creating a FireMonkey mobile form.
New target platforms for iOS: iOS Device and iOS Simulator iOS Target Platforms Supported The iOS mobile target platforms are now represented in the Target Platforms node of the Project Manager. When you create a FireMonkey Mobile Application, there are two basic iOS target platforms that you can select (iOS Simulator and iOS Device). As the target platform for the next build, you can select: iOS Device (for an iOS device connected to your Mac), which is any of the following: Debug (for development cycles) Ad-hoc (for private distribution) App Store (for submitting your app to the App Store) iOS Simulator (for the iOS simulator running on Mac OS X; the default iOS app), which is any of the following: iPad iPhone (the default) iPhone 5 You can add iOS Device and iOS Simulator to your custom run-time packages, and build them for those platforms, so your components can be used in those platforms as well.
New Mobile Form Designer with the iPhone design device selected New Mobile Form Designer RAD Studio introduces the FireMonkey Mobile Form Designer, a special Form Designer for mobile applications. In addition to the features of the Form Designer, the Mobile Form Designer provides Design Devices, which are preset forms with the appearance and dimensions of actual mobile devices, to give you a better idea of the final look and feel of your application on those devices. You can also change the default design device used in new mobile forms from Tools > Options > Environment Options > Form Designer > Default Mobile Device. Connection Profiles and SDKs (Replacing Remote Profiles) Remote profiles have been renamed and split into two pages: Connection profiles – A connection profile defines the connection to a running instance of the Platform Assistant. SDKs – A software development kit (SDK) defines a list of paths to files and folders on a target platform, as well as a local copy of those files. In situations where you previously needed a remote profile, you now need a connection profile. You only need an SDK to build the following cross-platform applications: C++ desktop applications for the OS X platform Delphi mobile applications for the iOS Device platform You can manage your connection profiles on the Tools > Options > Environment Options > Connection Profile Manager page (see Creating and Testing a Connection Profile on the Development PC). You can manage SDKs on the Tools > Options > Environment Options > SDK Manager page (see Adding and Configuring an SDK). You can export your remote profiles on previous versions of RAD Studio, and import them either as a connection profile or as an SDK. You can import the same remote profile twice, once as a connection profile on the Connection Profile Manager and once as an SDK on the SDK Manager. To configure the connection profile and the SDK assigned to a target platform, right-click the target platform node under Target Platforms, on the Project Manager, and click Properties to open the Platform Properties dialog. See Activating and Configuring the Target Platform. API Implementation of Connection Profiles and SDKs The PlatformAPI unit has been updated and extended with new interfaces for managing connection profiles and SDKs. Interfaces are self-documenting, but you can find helpful comments in the code. IDE and Project Options Changes Form Designer The Embedded Designer option is no longer available on the Tools > Options > Environment Options > Form Designer page. Application Options For icons in FireMonkey desktop and mobile applications, you can now define icon files on the Project > Options > Application page as follows: .ico files are used for the Win32 and Win64 target platforms. .icns files are used for Mac OS X. .png files are used to represent your application on iPhone and iPad devices, as well as in the App Store. RAD Studio contains a number of different-sized PNG icons for iPhone, iPad, and App Store. For example, two of the provided icon files are FM_ApplicationIcon_72x72.png and FMApplicationIcon_144X144.png. Version Info The new UIDeviceFamily key has been added to the Version Info page in Project Options. This value is used when filtering your application on the App Store, so you must assign the right value. Possible values are: iPhone - Support for both iPhone and iPod Touch devices iPad - Support for iPad devices iPhone & iPad - Support for iPhone, iPod Touch, and iPad devices (This is the default value.) The new Orientation tab enables you to specify custom orientation for your iOS apps: Portrait (vertical) Upside down portrait Landscape (horizontal, with the Home button on the left) Inverted landscape (horizontal, with the Home button on the right) You can specify one orientation (meaning that your app displays in only the specified orientation) or several orientations (meaning that your app uses the specified orientations, as determined by the rotation of the device itself). You can also specify orientation in your code by using FMX.Forms.TFormOrientation. Provisioning On the Provisioning page, you can now configure the following three new build types for the iOS Device target platform: Debug - Build your application to run on a device plugged into your Mac; typically used during development and debugging. Ad-hoc - Build for testing and distribution to a limited number of devices AppStore - Final build for distribution in the App Store See Completing the Provisioning Page for details. Delphi Compiler Project Options The project options pages related to Delphi compilers have been updated to provide additional options. These options let you take advantage of the new features introduced by the new compilers for iOS Device and iOS Simulator platforms. Delphi compiler project options are summarized for the two mobile compilers on their separate pages: DCCIOS32.EXE, the Delphi Cross Compiler for the iOS Simulator DCCIOSARM.EXE, the Delphi Cross Compiler for the iOS Device C++ Compiler Changes for XE4
The new C++ 64-bit Windows compiler (BCC64.EXE) was introduced in XE3 and is part of XE4 and ongoing RAD Studio releases. The XE4 release contains significant bug fixes for C++Builder. For more information, see What's New in C++Builder 64-Bit Windows. Database Changes for XE4
Added InterBase ToGo in XE4 support: now you can use InterBase as your embedded database in your iOS application Added SQLite support for iOS applications Added IBExpress support for iOS Added Midas Client Components for iOS Added DataSnap Connectors support for the latest platforms Added FireDAC, a powerful set of Universal Data Access Components for developing database applications in Delphi and C++Builder. A number of new units have been added, such as: Data.Bind.ObserverLinks Data.DbxHTTPLayer Datasnap.DSCommon Datasnap.DSProxyLegacy DataSnap Changes for XE4
Native DataSnap Client support for iOS independent of the DataSnap connectors through HTTP, HTTPS, TCP/IP, and REST. LiveBindings Changes for XE4
Enhanced and extended ListBox capabilities for iOS Added embedded search Expanded LiveBindings support for ListBox Run-Time Library (RTL) Changes for XE4
The Delphi RTL now supports iOS. Optimized, 0-based, immutable Unicode strings are supported in the Delphi Mobile Compilers. For details, see Migrating Delphi Code to iOS from Desktop. For editing a string in place, use TStringBuilder. For string handling, use TStringHelper (works with 0-based or 1-based strings). New methods have been implemented for TStringHelper, such as: CompareText, DeQuotedString, QuotedString, LowerCase, Parse, ToBoolean, ToDouble, ToExtended, ToInteger, ToSingle, TrimLeft, TrimRight, UpperCase. New class and record helpers have been added for intrinsic types: TIntegerHelper, TByteHelper, TCardinalHelper, TWordHelper, TBooleanHelper, and so on. Floating point type helpers have been moved from System to System.SysUtils: TExtendedHelper, TSingleHelper, and TDoubleHelper. The methods and the TCharacter type included in the System.Character unit are now deprecated and have been replaced with the new record helper: TCharHelper. To keep up with the notion of eliminating pointers, the new compiler requires an explicit style of marshalling data to/from external APIs and libraries. This can be accomplished by using the high-level marshalling API TMarshaller or the low-level TMarshal. Debugger Changes for XE4
The debugger now supports debugging of iOS applications that are running on either the iOS Simulator or the iOS Device. Application Samples Changes for XE4
New sets of samples include iOS Mobile and iOS Code Snippets (both described below). The existing application samples have been migrated from XE3 to XE4; this includes FireMonkey desktop, database, DataSnap, LiveBindings, Delphi, C++, RTL, VCL, and other categories. For XE4, the location of the SourceForge repository has changed. The new URL for the application samples repository is: http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RadStudio_XE4/ Using the new user-friendly interface on the SourceForge site, you can browse the contents of each folder and easily download projects and files. For more information about the samples that are installed with the product, see Samples Descriptions. New FireMonkey iOS Samples The following iOS application samples are delivered in the FireMonkeyMobile folder in your samples directory, typically located here: C:\Users\Public\Public Documents\RAD Studio\n.n\Samples\FireMonkeyMobile FlashLight Sample iOSControls Sample KeyboardToolbar Sample KeyboardTypes Sample ListBox Sample LocationDemo Sample LowLevel3D Sample PhotoEditorDemo Sample ScrollableForm Sample SensorInfo Sample Settings Project Sample TabSlideTransition Sample Each folder contains a minimal Readme file, and the PhotoEditorDemo contains in addition a more detailed readme.txt file. New FireMonkey iOS Code Snippets A set of FireMonkey iOS Code Snippets are installed with the product. The iOS code snippets are short, targeted Delphi samples that help you understand how to implement basic iOS functionality such as accelerometer, gyroscope, and notifications. You can find the iOS code snippets in the application samples in your product installation, typically here: C:\Users\Public\Public Documents\RAD Studio\n.n\Samples\iOSCodeSnippets To obtain the latest additions and changes to the code, you can download the source code for the iOS code snippets from a Subversion repository on SourceForge, located here: http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RadStudio_XE4/iOSCodeSnippets/ Online Help Changes for XE4
Checkbox to Display or Hide Inherited Members On the pages that list the class methods, properties, and events in the Libraries wiki, there is a new checkbox that enables you to display or hide the inherited members: When inherited members are displayed, the list displays all of the inherited members as well as the locally declared members:
When inherited members are hidden, the list displays only the members that are declared in the class:
PAServer Help Reorganized The help topic "Installing and Running the Platform Assistant (paserver) on the Target Platform" has been split into separate topics, as follows: PAServer, the Platform Assistant Server Application Using the Platform Assistant on Windows: Installing the Platform Assistant on Windows Running the Platform Assistant on Windows Using the Platform Assistant on a Mac: Installing the Platform Assistant on a Mac Running the Platform Assistant on a Mac Acquiring Permission to Support Debugging on a Mac Setting Options for the Platform Assistant Some Notable New Help Topics iOS Tutorials: Delphi iOS Application Development - a set of illustrated lessons about constructing iOS apps using RAD Studio iOS Code Snippets - descriptions of a set of short Delphi code examples that demonstrate how to implement specific functionality in an iOS app Setting Text Parameters in FireMonkey: TTextSettings class declares the text representation properties and methods of different types of components. ITextSettings interface declares the methods to manage the text representation properties independently of the types of the objects. Save Commands - summarizes the behavior of the various Save commands available on the File menu. Some Notable New Code Examples ShortStringToString (Delphi) Automatic Reference Counting (Delphi) Float Type Helpers (Delphi) Integer Type Helpers (Delphi) See Also
Release Notes for XE4 Installation Notes for XE4 What's New in C++Builder 64-Bit Windows Third Parties' Cross-Platform Support iOS Code Snippets Categories: XE4DelphiC++ Page Discussion View source History Log in / create account Search
RAD Studio XE4 XE4 Examples and Samples XE4 Libraries Main Page - XE4 Topics Wiki What's New in XE4 Tutorials FireMonkey Application Platform Cross-Platform Applications Getting Started Steps in Developing a Project Key Application Types Win32 Developer's Guide Modeling Tools IDE Reference Delphi Reference C++ Reference Subject Index HTML5 Builder Previous Versions XE3 Topics XE2 Topics XE Topics 2010 Topics In Other Languages Deutsch Français 日本語 Assistance Known Problems and Recent Fixes Random Page Recent changes Help Toolbox What links here Related changes Special pages Printable version Permanent link This page was last modified on 17 April 2013, at 17:01. Privacy policy About RAD Studio Disclaimers Help Feedback
----------------------------------------------
-
Come see what’s new in the XE4 versions of RAD Studio, C++Builder and Delphi. Join us for this informative webinar and learn about developing iOS mobile apps with Delphi, new additions to the FireMonkey platform, some exciting iOS database news, and learn how to choose the XE4 upgrade that’s right for you.
Wednesday, April 24, 2013 6:00AM PDT / 9:00AM EDT / 13:00 UTC 11:00AM PDT / 2:00PM EDT / 18:00 UTC 5:00PM PDT / 8:00PM EDT / 11:00AM 25-Apr Australia EDT
RAD Studio XE4 is the app development suite for companies who need to create true native apps for PCs, tablets, and smartphones and get them to market fast. With RAD Studio, you manage one codebase, one team, and one schedule, but support multiple platforms without sacrificing performance. True native apps run directly on the device with full access to all underlying capabilities, tighter security, and a better user experience.
During the webinar you will learn:
How multi-device app development with RAD Studio can expand the capabilities and efficiency of your development team How to use RAD Studio XE4 to create true native Delphi applications for iOS devices Accessing and integrating iOS sensors and services Working with local databases and enterprise data Pricing and availability of RAD Studio XE4 Don’t miss out on your chance to see what’s new in RAD Studio, C++Builder and Delphi XE4. Register now!
----------------------------------------------
┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻ ┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳ ┻┳┻┳┻┳ Delphi&C++Builder ┳┻┳┻┳┻ ┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳ ┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻ ┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳
This link should not be shared with others; it is unique to you.
2. You will be connected to audio using your computer's microphone and speakers (VoIP). A headset is recommended.
Webinar ID: 718-463-758
Please send your questions, comments and feedback to: embarcadero.webinars@embarcadero.com.
System Requirements PC-based attendees Required: Windows® 7, Vista, XP or 2003 Server
Mac®-based attendees Required: Mac OS® X 10.6 or newer
Mobile attendees
Required: iPhone®, iPad®, Android™ phone or Android tablet
Read our Audio Checklist for tips on using your computer's microphone and speakers with GoToWebinar.
Add to your Outlook calendar
You are receiving this email because you registered for this Webinar. Please cancel your registration if you cannot attend. You can also opt-out from receiving further emails from this Webinar's organizers.
This event is powered by GoToWebinar, Webinars Made Easy™ . View the GoToWebinar Privacy Policy. GoToWebinar is a service provided by: Citrix Online | 7414 Hollister Avenue | Goleta, CA 93117
Can you explain the step to publish to jailbroken device? I can't get it to work without Dev certificate.
----------------------------------------------
-
Thank you for your help, but it didn't want to install on the jailbroken phone. I tried with iTools, package it as .deb file and install it with iFile, same result.
Took the .app file in /Users/myname/RADPAServer/scratch-dir/macname/
Put it in IOS Demo/Payload/, compress the IOS Demo, rename the .zip to .ipa. Unable to install to iphone.
I'm use to install application with xcode, Titanium Studio and Adobe, but I can't with Delphi :(
----------------------------------------------
-