Are there any libraries or examples of how to handle OFX on the iPhone? - iphone

I'm working on a money-handling iPhone application and would like to interact with sources using the Open Financial Exchange (OFX) standard. Information about this standard is presented here and here.
Are there any open source libraries, examples, or tutorials out there about how to interact with OFX on an iPhone or in Objective-C?

I have no experience myself, but there's a C/C++ project named LibOFX which is open source - maybe it can be tweaked in using GCC Objective-C++?
Or, if you plan on writing your own Objective-C implementation, you can look into the code of OFX4J - a Java open source implementation of the OFX specification.

I haven't tried it as yet myself but there is a objective C library called OFXKit http://code.google.com/p/ofxkit/ that looks promising and supports versions 1.x and 2.x
Some further research shows that this library does not as yet support IOS due to a dependency on a Mac OS X utility.

Related

How to make shared logic usable for cross-platform native apps?

So I am currently using Xamarin for multi-platform mobile applications. I really like the way this works, and I want to improve my flow. My developers have said that they would be much faster when programming natively (i.e. Swift for iOS in XCode).
I have looked for a solution, where I can create a shared project and use it in native apps, but I have only found ways that involve programming in one language for all platforms.
Is there a way to create a shared project, which can be imported into a native application (or better, can be run together, like a shared project in Xamarin)?
The language for the shared code is not important, as long as it isn't slow.
My developers have said that they would be much faster when programming natively (i.e. Swift for iOS in XCode)
Swift can be used natively for iOS apps. RemObjects' Silver is supposed to make Swift ready for Android and .NET. I've never tested it. Try it out, it's free.
RoboVM can be used to write iOS apps in Java. I didn't try it out either.
Language mixing with Xamarin
In case you want to mix Swift code with C# code using Xamarin then you can bind Objective-C compatible Swift code and use it in iOS projects only. You are not able to execute Swift code on Android or Windows Phone! It's not possible to write platform independent business logic in Swift and and use it in a shared library or PCL with Xamarin.
You face the same restrictions for Java code on Android: You can bind JARs and use them in a Xamarin.Android project but you cannot use them on iOS or Windows Phone.
You are also unable to execute C# code in a Swift based app on iOS or in a Java based app on Android.
You can use native code in Xamarin apps via Binding Libraries. You cannot use Xamarin libraries in native apps.
If the goal is to use truly native tooling, in their standard languages (meaning not Xamarin) and still share code between iOS and Android, this can be achieved by writing your non-UI code in C++.
Here's a very interesting article about how Dropbox does exactly this.
C++ is natively supported on iOS and it is very easy to interface
between Objective-C and C++ using Objective-C++.
On Android, calling into C++ can be done through the NDK, which
reportedly is not a pleasure to use. Dropbox found Google’s meta-build
system gyp to work reasonably well. In addition, the Java Native
Interface is a pain you have to accept. But none of these issues is a
roadblock, and Steven expressed hope that Google or the community will
build better tooling support over time.
And here's a simple example of how to do this from another StackOverflow post

Tesseract OCR In monotouch

How do I implement the Tesseract OCR in a monotouch application for Iphone?
First you need to have the library ported to iOS and available as a static library. That where Vikas' answer (Pocket-PCR) might comes handy (but I have not tried it).
Next you'll need to create C# bindings to the library.
When the API is exports C functions you can use normal .NET pinvokes, i.e. using DllImport attributes.
When an Objective-C API is provided then you can create bindings using the btouch tool. Instructions are available on the MonoTouch web site.
However (and this looks to be the case for Tesseract) it's a bit more complex for C++ libraries. You'll either need to first create a C (or Objective-C) library that export the feature you need and them bind your own API.
To build the tesseract library, download the source code and compile apropriately for the iPhone (arm processor). Add the library to the XCode project and build.
go this link and try ........
https://github.com/rcarlsen/Pocket-OCR

Does iPhone/iOS development allow the use of third-party compiled libraries?

We're currently negotiating an outsourced iPhone development - and one of our requirements is that we also get the project source at the end of the development to allow us to enhance/update once the initial app is released.
The developer does not want to release the source of their own common libraries - which is understandable - and have said that they will have to write new code to replace those libraries.
However - on other platforms, it is possible to include libraries as pre-compiled software so that the source code is not necessarily released. Is this possible with iPhone app development? And if so, is it easy to implement?
Yes it is perfectly possible look at the admob or flurry libraries for example
To make a static library look here http://blog.stormyprods.com/2008/11/using-static-libraries-with-iphone-sdk.html

Using c/c++ library that uses network for iphone app objective c

I am currently evaluating if a c/c++ library may be used for a specific iPhone project of mine. The original library makes heavy use of windows specific code (for example it includes windows.h and winsock.h). I am aware that I will have to rewrite the parts that use windows specific code and replace winsocks with for example bsd sockets. Or try to convert to objective-c++ and use IOS specific networking apis as it's recommended in Apple's documentation.
But as it turns out in Apple's documentation, in iOS only C and Objective-C code is allowed for networking. "iOS supports networking code written in C and Objective-C." ( https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/GS_Networking_iPhone/ )
That sounds like I have to rewrite the whole library in objective-c to make it work on IOS. Or would it be sufficient to programm a wrapper class in objective-c and work with the original (adapted to bsd sockets api or objective-c++) library? -> Using C/C++ static libraries from iPhone ObjectiveC Apps
But the actual networking code still would be written c/c++ not objective-c.
Is there any chance this might work? I don't want to do all the work of adapting the library and then notice that this approach does not work.
Has anyone tried something similiar before?
Best regards,
Mike
You should be able to rewrite portions of your C++ library to used BSD sockets instead of the Windows sockets API without any problems.
Apple does not forbid C++ code from accessing the network, however the only networking APIs offered by iOS are in either C (BSD sockets, CoreFundation) or Objective-C (Foundation…), perhaps that's the source of your confusion. You can freely mix C, C++ and Objective-C code in your own code or in statically linked libraries.

Examples of interpreters embedded in iPhone Applications?

I'm trying to find examples of interpreted languages ported to the iPhone, with source code available to show how to embed it, without Jailbreaking the device:
I've found:
Ruby: http://www.cocos2d-iphone.org/forum/topic/1163
Lua: http://www.mobileorchard.com/announcing-iphone-wax-native-uikit-iphone-apps-written-in-lua/
and I'd like to see what else is out there. I know that Apple may or may not allow usage of an interpreter in an app (or downloading new code to run in the interpeter), but I'm ok with that, as I want this mostly to simplify development.
Are there any other examples out there?
There's Nu.
Nu is a Lisp-on-ObjC-runtime thing. The link above is to information on iPhone embedding. The language homepage is here.
PHP, Python, Tcl.
iPhone Frotz is an interpreter for the Z-Machine and is open source.
How about C#?
And soon also Flash..
The Processing environment has been adapted for the iPhone. I believe that it comes from ProcessingJs which translates the Processing code to Javascript.
Processing for IOS (if the link doesn't work, search for it)
http://itunes.apple.com/sg/artist/boyd-rotgans/id492576046
or a commercial version that allows you to import/export scripts
http://itunes.apple.com/app/pr0c0d1n6/id493549542?mt=8
There is also a tool to convert ProcessingJs scripts to native iPhone Apps.
http://luckybite.com/iprocessing/