We are writing an application in Delphi XE2/Firemonkey for IOS (to run on an IPad) We need to be able to create an email witn an attachment from within the application. We have tried to use the Indy components but they do not work on IOS. Is there anyway we can do this in Delphi or do we have to resort to writing the app in Xcode?
Indy doesn't work on iOS. See this SO question.
There's a thread on the Embarcadero Delphi Firemonkey forums about this very topic. In it, it's suggested you use the iOS MessageUI framework, and refers to this SO question for an example.
Sending an email from an iOS FireMonkey application
http://blogs.embarcadero.com/ao/2011/10/04/39133
Delphi xe4 has all Indy components working both win32
/iOS platform.
Related
First of all, I am so sorry for the STUPID question but I am tired of searching google for the answer. I don’t have the option to create mobile and/or iOS applications in Delphi and C++ builder, is there something I need to setup before I can see those options?
I am currently using RAD XE3 Update 1 version 17.0.4723. Perhaps the version I have does not come with the options I need.
There is a simple answer:
XE2 allowed you to create iOS apps using the open source version of FireMonkey and FreePascal in Xcode.
XE3, which was meant to contain a native iOS compiler, got rid of that, but the iOS compiler was not finished in time.
To program natively for iOS, you must use XE4 (or later). This has options to create iOS apps (File | New | Other | Delphi projects | FireMonkey mobile app) .
So sorry, with XE3 you are out of luck.
There is no support for mobile in XE3. It was added in XE2 using FPC compiler, removed from XE3 and then restored for XE4 using new Embarcadero mobile compiler.
Right now IOS(Iphone/Ipad) is supported in the following,
XE4 - Architect,Ultimate and Enterprise versions.
XE4 - Professional + additional mobile add-on pack(~ 449 dollars offer).
Hope this helps.
I am developing a program in Delphi/Object Pascal that acts as an HTTP request router on various platforms. It's a sort of proxy that is designed to pass through certain HTTP requests and field others locally. I have it running on Windows, and would now like to port it to iOS.
The program currently uses the Indy Internet component suite to implement an HTTP Client and HTTP Server. I recently discovered that although these components will compile successfully to iOS using Delphi XE4, they are not supported and will not run.
I am looking for a workable option. I am aware of other component suites such as IP*Works and RealThinClient, but have no experience with them.
Has anyone developed an HTTP Client/HTTP Server application in this environment? I realize that Delphi support for iOS is quite new, as XE4 has only just been released. But XE2 had an iOS solution based on FreePascal (which I initially used to create my program in Lazarus to port to Linux & MacOS). Also XE4 has been in beta test up until this week. So it's possible someone may have tried this by now.
The XE4 feature matrix states:
New in XE4! Indy for iOS
So I believe you can use the version of Indy that ships with the product. It's possible that you are building from out of date source.
Internet Direct (Indy), the communications library that comes with Delphi, supports iOS.
Are there third party components available for Delphi XE2 to create iOS applications with Internet support?
For example, the Indy components that ship with Delphi XE2 do not work with a FireMonkey iOS app. I want to be able to communicate with a REST Web Service in my iOS app.
On FPC lists, people complain that the resolving doesn't work properly on iOS, but that the base sockets do work. The question is probably where iOS differs from OS X wrt resolving of DNS names.
I assume something similar is going on with the FPC in under XE2, but am not entirely sure since FM is not VCL, and the event pump might be different which could create additional problems.
Anyway, if you can get it compiled, try with only IPs as host to see if it is a general problem, or the relatively simple DNS resolving biut.
Looks like Real Thin Client has support you need: http://www.realthinclient.com/
Win32 with Delphi 6 - XE; Win32+Win64+MacOSX+iOS with RAD Studio / Delphi XE2
Looking at the new Delphi XE2 with Firemonkey. Considering that it compiles for Windows, Mac OSX and iOS, VCL components are useless in a FireMonkey application.
My question is: Is there/will there be an Indy Firemonkey Edition? Cause I seriously need the IdHTTP.Post();. If not, is there a way to do this in FireMonkey?
I have been googling for quite awhile now, not finding anything. :S
VCL means Visual Component Library. There's nothing about Indy that is "visual" (meaning "seen at runtime"), meaning that "VCL components are useless in a FireMonkey application" has no relevance to Indy.
You can create a new FireMonkey HD application in Delphi XE2, target OS X, and the Indy component pages are still available in the IDE, meaning that they are compatible with supported FireMonkey cross-platform targets. They're also available for FireMonkey HD Windows targets (32 and 64 bit).
Indy ships with the IDE (and has since D6) so there is nothing extra to buy if you already have XE2 installed. Also, Indy is open-source, so you can upgrade an Indy installation using source code from Indy's public access SVN server or mirror.
Regarding FireMonkey, Indy does work in FireMonkey. Indy uses whatever the native socket API is on a given platform (WinSock on Windows, Posix on Mac, libc on Kylix, etc).
The only known gotcha with Indy under FireMonkey at the moment is the TIdAntiFreeze component is not available at design-time. The IDE cannot resolve it correctly due to the non-standard way it is packaged (to be adressed in Indy 11). You can instantiate it programmably in code at run-time, though.
I made a client server example using tcp indy http://www.freelancecode.net/community/viewtopic.php?f=35&t=246
The Components Not Used in iOS Apps DocWiki page for Delphi XE2 lists most of the Indy classes:
The following list is the set of components (along with the used
units) that might be available in the Tool Palette for iOS
applications, but are not supported for iOS applications.
I just downloaded and installed Delphi XE2. I opened a sample iOS firemonkey HD application (the one Lanusse shows on his videos) and theres no export to Xcode option.
Should I do something to be able to export code to xcode?
You might want to look at the Embarcadero FAQ on
Cross-platform development for XE2 or the Getting Started with iOS FAQ
Look for the FireMonkey Prerequisites. Here is the direct link which addresses your topic:
http://docwiki.embarcadero.com/RADStudio/en/FireMonkey_Platform_Prerequisites