I would like to hash a string using ripemd128 on iOS / OS X, but there does not seem to be core support for this, or any simple open source framework implementing it. Anyone has a solution?
If RIPEMD is not natively supported by the iOS SDK you can use an external library:
crypto++ For the integration with iOS you can see this page.
sphlib is a library implementing standard digest algorithms. It is written in ANSI C and should be compatible with iOS.
Related
I would like to port the arithmetic processing (written in C ++) using Point Cloud Library to an iOS application (swift). Is it possible to use PCL with swift?
There is no supported version of PCL compiled for arm64 yet. However, the following project may be useful:
https://github.com/patmarion/pcl-superbuild
It has difficulties with the current version of Boost for iOS, so you can replace Boost with a project like this:
https://github.com/danoli3/ofxiOSBoost/
Or maybe you can use the precompiled libraries from a project like this:
https://github.com/stevenroach7/3DScanr/tree/master/PCL_Build_Artifacts
How can I obtain a EGLNativeWindowType object in the iOS platform? or achieve the equivalent of the following android code?
To provide a bit more insight, I am currently porting a native android app to iOS which shares a single core C library, while the iOS project itself is written in Objective-C. The project is also using EGL and not EAGL.
The existing source code is standard C but uses Android's NDK; a EGLSurface object is defined with EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list)
EGLNativeWindowType win = AndroidMainGetAndroidActivity()->app->window;
EGLSurface eglSurface = eglCreateWindowSurface(e_eglDisplay, config, win, NULL);
I haven't found any documentation relating to EGLNativeWindowType and iOS.
iOS uses EAGL as an interface between OpenGL ES and the underlying windowing system. EAGL need for iOS as EGL needs for Android to draw via OpenGL ES. So you can not use EGL API on iOS.
Differences between them and how them works very good described in an article.
Here is my short assumption on that currently looking more on it.
Application with Swift code bundles Swift specific standard libs with Swift, Apple has changed how standard libraries are shipped. With Objective-C, all of the standard libraries, system frameworks, and the runtime itself, were shipped with the OS. But With Swift, Apple trying to ship a specific version of the standard library with your app.
Please share your thought on that.
Found Interesting - Compatibility Blog
According to that - In fact, you can target back to OS X Mavericks or iOS 7 with that same app. This is possible because Xcode embeds a small Swift runtime library within your app’s bundle. Because the library is embedded, your app uses a consistent version of Swift that runs on past, present, and future OS releases.
Any other discussion warm welcome!
Is there an iOS equivalent to SecTransformRef from the Mac SecTransform.h header file? I am getting a Semantic issue where there is an unknown type name 'SecTransformRef'. It appears that the SecTransform.h file does not exist on the iOS side and I am trying to get the same functionality from the Mac side to the iOS version. The main objective at hand is client encryption and communication with Base64 encoding.
Security transforms are only available in OS X.
If you want to make symetric encryption please take a look on doc page:
https://developer.apple.com/library/mac/documentation/security/Conceptual/cryptoservices/GeneralPurposeCrypto/GeneralPurposeCrypto.html#//apple_ref/doc/uid/TP40011172-CH9-SW14
and also
https://developer.apple.com/library/mac/documentation/security/Conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW9
Say, I build my app using iphoneos4.2 as the Base SDK. Will the Core MIDI part work on older devices? I suppose not, but is there a way to make it work?
Because CoreMIDI was only introduced in 4.2, older versions of the OS don't contain the framework and so cannot use it. You could use something like DSMidiWiFi as a substitute.