UPnP library for iOS, binary light switch - ios

I'm intermediary at Objective-C and I'm current trying to make an app that control an device using UPnP, the app is a control point and the device is a Binary Light Switch.
For UPnP I have to parse XML and I'm using UPnPx library but it seems a little old, because I don't stop getting those LLVM 5.0 error, and can't use Auto Layout. I've searched a lot for others libraries but the one that seems more easy is UPnPx. Could you guys help me with some example code for binary light switch or other libraries? Thx!

As far as I know, there are few well-known UPnP libraries can be easily integrated into your iOS project.
CyberLink4C
It is implemented by C, but with Objective-C wrapper.
Here are some examples https://github.com/cybergarage/CyberLink4C/tree/master/examples.
Platinum
It is implemented by C++, with Objective-C wrapper, too.
Beware, it is a dual license library, GPL or commercial, read http://www.plutinosoft.com/platinum/ for detail information.
UPnPx
It is implemented by Objective-C, but the performance of searching device is poor.

Related

Facebook Paper - what 3rd party libraries are used for what parts of the app?

I just download Facebook Paper app for iOS. There's a lot of great stuff in this app, specifically animation wise. It runs smooth as butter for me too - some really great stuff going on behind the scenes evidently.
What I'd like to know is what libraries are used for which features of the app (3rd parties libraries used are listed below. There's a truckload of them). Basically, how did they get it looking and working as well as it does - which of these libraries can I use to do the same?
Since this is a pretty broad question, specifically I'd like to know about animations - fold, swipe down, tap on a settings section, tap an icon. Was a third party library used - how did Facebook achieve the smoothness and complexity of animations that are there?
All 3rd party libraries from Facebook paper are listed below.
ACE
Appirater
Reachability
AQGridView
bitvect
Boost
Breadcrumb
breakpad
Chromium
CocoaHTTPServer
CocoaLumberjack
DCRoundSwitch
DTCoreText
EGODatabase
expat
FFT by Mark Oleson
FFT by Takuya Ooura
gh-kit
gh-unit
Google Toolbox for Mac
google-web-toolkit
gtest
gyp
IEEE 754r Half Precision floating...
HPGrowingTextView
InAppSettingsKit
ios5-cookbook
ios-8601-parser-unparser
jqueryjs
JSONKit
leveldb
LibComponentLogging-Core
LibComponentLogging-NSLog
libjingle
libjpeg-turbo
libjpeg
libPhoneNumber-iOS
libphonenumber
libsrtp
libvpx
libyuv
llvmreturn
MAZeroingWeakRef
minizip
mizpanel-iphone
mosquitto
MessagePack Objective C Imple...
MessagePack
msinttypes
OpenCV Tutorials
nimbus
NJKWebViewProgress
unmodified objc4
ObjQREncoder
OCHamcrest
OCMock
OCPDFGen
OmniGroup OmniUI
OpenSSL
OpenUDID
opus
peertalk
PhotoScroller
PHP
PLCrashReporter
pmtk3
Pocket-ObjC-SDK
portaudio
protobuf
PSTCollectionView
SUtilities
RestKit
Ring Buffer Utility
SDURLCache
SDWebImage
SOCKit
SPDY-for-iPhone
spdylay
spreadsort
ssziparchive
TDOauth
tiqr
UAModalPanel
webkit
webp
webrtc
WebViewJavascriptBridge
XMLReader
yaml-cpp
yasm
zlib
zxing
Quote from an engineer working on paper:
The engineering complexity here is finding a way to fully utilize the
multicore architecture of newer iPhones on top of the UIKit framework
which has no support for multithreading. Significant work went into
creating a framework for doing rendering work on multiple threads, and
we spent a long time finding the balance between performance and
complexity.
Full length article here: http://www.quora.com/Facebook-Launches-Paper-January-2014/What-was-it-like-to-help-develop-Paper/answer/Jason-Barrett-Prado?srid=iaDC&share=1
Facebook held an event in San Francisco on 1st April called "An Inside Look at Facebook Paper". See the section "Spring & Delight: Beyond Static Animations - Kimon Tsinteris".
In summary, for animations they used an in-house library called Pop that has now been open-sourced. It's benefits over CoreAnimation are 1) that it doesn't depend on CALayer... any object can be animated 2) animations can be stopped mid-flow, and a new one started with the end state of the animated object matching where it was stopped. You will notice that animations in Paper can all be interrupted.
At F8 Facebook announced they would be open sourcing the rendering library DisplayNode that allows a large amount of rendering to happen off the main thread. This was released as AsyncDisplayKit in October 2014.

Playing the MIDI at the iOS from Delphi XE - 5

is there way how to play MIDI from the Delphi at iPhone under Delphi XE-5?
I found different articles showing how to play the MIDI under ObjectC so the iOS from version 5.0 has that support, but there is missing AudioToolbox and CoreMIDI implementation at the Delphi.
Does someone have that?
I assume you're using XE-5 because you're attempting to build a cross-platform app. You're up against a fundamental problem that some of the platforms supported by XE5 don't have MIDI at all.
However you approach this, you will need to build platform specific portions of the app to handle MIDI on iOS. The AudioToolbox API is a C API and CoreMIDI is Objective-C. Either way, you need to learn how to create Objective-C and C language bindings in Delphi, and consider writing a large part of your app using the platform's native tools and language.
A quick search with google suggests that you should be looking at the OCClass bridge.
I found that there isn't any solution so far.
So I wrote my self a tool to convert the iOS .h units into the .PAS.
It's in progress but I have already first units.
http://pjstrnad.com/my-projects/delphi-implementation-missing-ios-frameworks/
I'll appreciate if you can give me feedback. My intention is to convert completely the iOS framework so Delphi developers can use all the features of the iOS.
Thanks.

Can Opencv developed in c/cpp - Run in IOS?

I am developing an image processing application in Centos with OpenCV using C/C++ coding. My intension is to have a single development platform for Linux and IOS (IPAD).
So if I start the development in a Linux environment with OpenCV installed ( in C/CPP ),Can I use the same code in IOS without going for Objective-C? I don't want to put dual effort for IOS and Linux, so how to achieve this?
It looks like it's possible. Compiling and running C/C++ on iOS is no problem, but you'll need some Objective-C for the UI. When you pay some attention to the layering/abstraction of your modules, you should be able to share most/all core code between the platforms.
See my detailed answer to this question:
iOS:Retrieve rectangle shaped image from the background image
Basically you can keep most of your CPP code portable between platforms if you keep your user interface code separate. On iOS all of the UI should be pure objective-C, while your openCV image processing can be pure C++ (which would be exactly the same on linux). On iOS you would make a thin ObjC++ wrapper class that mediates between Objective-C side and the C++ side. All it really does is translate image formats between them and send data in and out of C++ for processing.
I have a couple of simple examples on github you might want to take a look at: OpenCVSquares and OpenCVStitch. These are based on C++ samples distributed with openCV - you should compare the C++ in those projects with the original samples to see how much altering was required (hint: not much).

Boost Graph Library, stable on iOS?

The Boost Graph Library is a header-only library and does not need to be built to be used.
it contains some pre-made functions that I want for my iOS application:
dijkstra_shortest_paths
astar_search
However, Boost is not officially supported on iOS (or Android) due to lack of regression testing, and I'm not experienced enough with either Boost or iOS to be comfortable testing it.
Is anyone using Boost.Graph on iOS, and if so is it stable?
Yes, most definitely it's stable.
Apple's LLVM compiler (which is what you should be using for iOS apps) is one of the most C++11 compliant compilers available today, and as such can compile and run boost with absolutely no issues.
Not to mention the fact that iOS is also fully POSIX compliant, which makes most frameworks out there viable for use on iOS. When in doubt, try it and then if it doesn't work, come back and ask a question.
Leverage what is already there, and use it well!
As such boost libraries are stable, but Boost Graph libraries are failing on all darwin flavours (darwin- 4.4_0x intel- darwin- 12.0 intel- darwin- 11.1 darwin- 4.4)
http://www.boost.org/development/tests/release/developer/summary.html
May be you can try other alternatives, like LEDA (http://www.algorithmic-solutions.com/news/archive.htm)
Thanks.

Using Syntax Highlighting

I'm trying to write an IDE for the iOS and I stumbled on a problem. I of course wanted to be able to do syntax highlighting, but I have no idea how I have to get this to work.
I have been googling over a month now, but I haven't found anything useful. Most libraries are C++. That I find no problem, I know enough of C++, but they all use the Boost libraries and I heavily doubt if it's easy to install them on a jailbroken iOS device, or even compile them for the iOS on the Mac.
So I come here for help. What should I do? Should I use a PHP syntax highlighter, which always colors the whole document? Should I write a syntax highlighter my self, that doesn't use the Boost library? Or does somebody here know another library, which can be used on the iOS?
Thank you in advance,
ief2
i have a simillar problem about syntax highlighting, but i prefer to solved it using UIWebview than using core text, because that is a different pixel in rendering text in core text and UITextview (in my problem i was using a core text view that cover by uitextview), and then i try to solved using uiwebview, even i'm still on developing but i can say that it is better using uiwebview than core text, maybe you can take a look at this link http://alexgorbatchev.com/SyntaxHighlighter/ it is an open source code, but it develop using javascript.
Most Boost libraries are header-only. There are only a few Boost libraries, like those for threading and asynchronous I/O, that use a compiled library. If you've found some solutions that would work fine aside from your worries about using Boost, then I would look at them again, as they'll likely work. Even if you must use a Boost library that is not header-only, you can always build it as a static library and link that into your application, so that in the end the only thing that needs to be installed is just your app bundle.
I know this is old, but in case anybody is looking for a complete syntax highlighter for iOS, there's two options:
Highlightr: A Swift library for syntax highlighting, supports hundreds of languages but uses JS as backend. It's fast enough for live editing, though. (Disclaimer: I am the creator of this library).
SyntaxKit: A native solution on early stages of development. Should support any TextMate syntax in the future.

Resources