How can I find out if IBM will be releasing new versions of the iOS SDK for Swift? - ibm-cloud

I am very interested in using BlueMix for mobile development. Really interested.
I've created a couple of stub app's using iOS9+ and Swift. And I can see that there is real potential.
My question is. When I look at the educational materials and toolkits available I get the impression that IBM are no longer investing in this area. How can I be sure that BlueMix and Mobile will receive investment? How can I be sure that BlueMix will support future versions of iOS?
I know some might think this is too general a question. The problem I have is that IBM is such a huge company I have no idea who I can approach for an answer directly.

As you mention this is certainly not a technical question. That said, if you would like reassurance that the mobile SDKs (including Swift) are a major focus feel free to monitor the Bluemix Mobile Services public-facing Github where you will see daily activity as work is done to bring all the BMS SDKs up to the latest and greatest releases for the iOS, Android, and Hybrid platforms.

Related

Creating a single SmartTV app for multiple platforms?

I want to develop a SmartTV application for the GoogleTV platform and i've been browsing trough the GoogleTV Guidelines (https://developers.google.com/tv/android/).
However, i don't want GoogleTV to be my only platform. I also want the same app to work on devices like Samsung SmartTV and/or LG SmartTV.
But do the guidelines from Google conflict with Samsung guidelines and does the code of my application need a lot of rework to work on other devices?
I'm editing my answer. I just checked the Samsung website and, I'm happy to say, they threw out all the junk.
They use to have a number of different, non-interchangeable, coding languages. And none of them really worked on the TV's of the other manufacturers either. This is most likely the reason why few applications were ever developed for those platforms.
Now they are supporting basic javascript. So, you have the opportunity to build yourself a TV web page and load it up as an application on Samsung and potentially run it from the Google-TV browser. However, I would verify whether your application requires specific HTML5 features (such as offline support) that may not be implemented in the Android-like browser version running on Google-TV. Having said that, you can always build an app that loads locally on Samsung and runs from a remote server on Google-TV?
... for some historical perspective on how we go to where we're at you can continue reading....
The implication of each manufacturer having their own unique OS creating developer fragmentation was probably predictable to them but they were likely working in a panic. After they became aware of the Apple TV when the first patents were make public in 2008 they understood the longer term impact if Apple provided hundred of thousand of applications worth of content and they had nothing to compete. So they got together and decided on a standard they would implement that would provide a non-fragmented solution allowing any app to run on the TV's of any supporting manufacturer. AKA: they got it right.
In 2009 a good number of them announced support for the Yahoo Connected TV standard. However, by 2010 the development framework, app store, etc that was promised had not materialized. This is likely when they all went in their own direction (although you can still buy Yahoo Connected TV sets from Samsung, Sony, LG, Vizio, and Panasonic today).
With the implementation of the Google-TV Market and the ability of developers to transition existing apps to Google-TV apps with only 20% or so of the effort of creating new (thus lowering the cost and supporting the business case for a TV version) that they have a solution that meets their original requirements.
Now, there's certainly going to be a little 'bitten once twice shy' coupled with revenue sharing discussions and perhaps the impact of Google being a hardware manufacturer (Motorola Mobility) but, at the end of the day, the inevitable is inevitable. They either take Google-TV or create their own, very close, must run existing applications, version of Android.
PS: I didn't look at the other manufacturers site.
For my understanding core components like the Player and Remote Control Management are platform specific.
You would need to use a configuration file and implements these components independently for each platform.
Alternatively you can use some cross platform SDK.
Searching on Google for "smart tv app development" I found out:
Joshfire Smart TV SDK
http://www.joshfire.com/products/
Works on Google TV and Samsung
But not on LG
Mautilus Smart TV SDK
http://www.mautilus.com/knowhow/smart-tv-application-development/
As written in their website it covers
LG Netcast 2012
Samsung 2012 / 2013 models.
I hope it can helps.
orangeejs is a new open source project aims to ease the pain of cross platform smart tv app development. The target platforms are latest model of samsung/lg/android/ios.
There is a framework developed by BBC and called TAL. It aims to help you with cross-platform development. All their Smart TV apps were developed using this library so take a look.
First of all if you consider to develop for many TV platforms see the:
https://developers.google.com/tv/web/lib/jquery/
It's jQuery library for Google TV, so you can develop application in HTML/JavaScript just like in Samsung and LG.
Of course there are the differences in key handling, video player, event handling so you will need to develop the framework which cover all this differences.
There are few open source frameworks out there but not mature enough to use it "out of the box".
for example: http://framework.joshfire.com/
You might want to take a look at cloudee-couch which is open-sourced by Boxee. This example/framework is built on top of Spine.js. Base classes take care of key handling, focus, and oauth authentication.
It's not a big deal to make an application for the smart tv platform that supports across the devices. Now the industry is filled with a lot of smart tv app development companies with their unique functionalities and features to offer the customized app as per the business models. FYI I'd suggest you choose the best smart tv app builder from the list. Hope it will be helpful for the video content creators & business owners to stream across the tv.
VPlayed
Zype
Uscreen
Explore the complete list here Ref: https://dev.to/dwarak17/5-smart-tv-app-development-companies-to-develop-tv-apps-in-2021-1584
While both Samsung and LG have proprietary Smart TV systems, they also both support Google TV. If you create an app for Google TV, you'll only have to write it once and it will run on Samsung's Google TV's, LG's Google TV's, Vizio's Google TV's, and Sony's Google TV's.

Smartphone Development Framework & Platform?

I am a C Sharp.NET & Silverlight developer and now thinking to swicth to SmartDevice development specially for iPhone & Andriod based phones. I have looked over web and found some cross platform development frameworks like
http://developer.openplug.com
http://www.phonegap.com/
http://android.xamarin.com/Welcome
but not sure about which to choose. Naturally I would like to keep my learning curve less but also would like to choose platform which provides more power, so I am looking for your suggestions and 'Getting Started' tips and also which device you think will be in demand in future iPhone or Android ? .
Thanks,
Maverick
I wouldn't recommend any of those. The problem is, that those "cross-platform" development frameworks, still aren't cross-compilable. This means you still need to develop an application for each platform, but you can reuse heavy calculations if you are using models af MVC.
Another thing is that those frameworks still aren't 100% native supported, so you'll loose some features from the native frameworks when developing applications.
I've read a lot of articles and to be honest, these cross-platforms seems to be dying out, cause both Android and iOS are moving very fast in each their direction and the cross-platforms cant keep up. But it's still up to you.
In would recommend you to choose one of those platform and learn it from scratch. With your C Sharp background, maybe iOS and Objective-C would be the most natural choice.
Enjoy
Edit: Regarding you last question:
I dont think it matters which one you choose, both will be domination for a long time. You should pick the one you can identify yourself with.
since you are C# dev, go for MonoTouch. I heard good things about it.
Miguel de Icaza is behind Xamrin. He wrote the most prolific .NET platform for UNIX, mono. I believe both he and his team have the capacity to bring you the most coverage for common features on Droid and iOS. My friend has a startup and is releasing an app shortly for iOS on Xamrin. It is a video streaming app.
HTML 5 will get you the most cross platform for the investment. Of course, like everyone else has said, if you need lots of native integration or if you want to use the latest APIs upon availability, you have to go native.

what are the main limitations of titanium as a mobile development platform?

I intend to start an iphone/android project with the titanium SDK for mobile. Do you know what are the main feature-wise pitfalls to avoid ? what sort of features will be very hard or impossible to achieve ?
I understand that there is a plugin system to circumvent these limitations. Do you have information on that ?
Thank you for your help,
Jerome Wagner
I have yet to find a particular piece of Android functionality that is missing from Titanium. Not sure if widgets are in the current 1.5.1 mobile release or are coming in 1.6. In any case, the coverage is pretty decent, as you will see if you try out the "kitchen sink" app.
But here are some things I find lacking:
Titanium's Android support is still much buggier than iPhone support. For instance, I can't get global events to work properly--that's pretty important functionality.
documentation isn't complete; the API docs are skimpy
you're on your own; Appcelerator employees don't bother to answer questions online (even when they concern obvious bugs on their end), unless you subscribe to a support plan
That said, I've found developing Android apps with Titanium to be much more enjoyable than dealing with the Android SDK!
I agree with most of what #Drew stated above.
The API documentation is for the "most part" pretty complete, yes there are a few missing pieces, but hey the framework is free, they push releases pretty frequently and all the source code is available for you to go through yourself. You also have full access to the Continuous Integration Builds
I believe the 1.6.0 release has addressed additional issues with Andorid support, there is also a bug tracking system for you to investigate and report issues.
You are not on your own any more than with any other similar framework... Occasionally employees will review specific issues that show up in the Q&A Forum but the forum is very active and there is tons of community support. I would be surprised if you could write most of an application from just cutting and pasting from the Q&A questions and you will find the rest in the Kitchen Sink Example or Tweetanium Example Projects.
You asked about a plugin system. Titanium offers the ability to develop your own custom native modules.
The Titanium's Module Developers Guide (PDF) isn't the best, but it will get you started.
As Drew said, many of the Titanium's Android support is buggier compared to iPhone.
Titanium is meant for people who never wanted to learn the native iphone and Android programming. If you know to develop applications using objective C and you wanted to develop applications for iPhone then don’t even think of Titanium, the same case applies to Android too. Only if you are lazy to learn a language, you can opt for Titanium.
1.The size of the Application is a big concern here.
2. Some of the features in Android which was shown to be working in developer reference were not working. Even after being filed as bugs, they were not updated in developer’s reference that it works only in iPhone. For example, “focus” events of the window is handled only in iPhone and never in Android.
To get to know in details, the problems Titanium can bring you read the following post:
http://mobworld.wordpress.com/2011/01/10/titanium-framework/

Make Phone Applications Across All Operating Systems [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Write once deploy on Windows Mobile 6, Windows Phone 7, Android and iPhone?
Currently I have created a 2 simple apps for iphone and 1 for windows phone. When I go to promote these apps they usually....well do you have this for android or blackberry or whatever.
Do I have to rewrite my applications in every environment in order to have them compatible across all the operating systems out there? Is there tools that address this or do you guys simply recreate the app in eclipse, xcode, visual studio etc..?
Complex applications generally need to be created with the native environment.
Simple applications can be created with cross platform tools like Titanium and PhoneGap:
- http://www.appcelerator.com/
- http://www.phonegap.com/
#Fraggle (see comment)
I have quite some experience with Appcelerator Titanium. The choice for native v.s. cross-plafrom completely depends on the kind of application you need and your knowledge. General considerations:
Can the application be created with web technologies like HTML, CSS and JavaScript?
What language / environment do I know the best (native vs web technologies)?
How much time and money can I spend?
Do I really need cross-platform compatibility?
Most mobile phone applications only provide an easy interface for internet services like news updates, traffic info, social media and video. Those applications can be easily written with web technologies. Therefor most mobile applications can be written with tools like Titanium. The great thing about Titanium: Get the native experience on multiple devices while only maintaining one code-base. Cheap way of developing cross-platform applications.
Many developers use Titanium because they don't know the native language (objective-C / java), but they have extensive knowledge about web technologies. This way they can create pretty nice applications without learning new languages. Titanium is actually used for many non-cross-platform applications.
Complex graphics, device specific tools and complex interfaces still require the native environment.
Native applications will always perform better and use device specific features, but do you really need that degree of perfection? Yes, develop native applications for every device. No, simply create one cross-platform application.
Check this page to see what Titanium can do:
http://www.appcelerator.com/showcase/applications-showcase/
You may be able to use a third party tool like http://www.phonegap.com.
There are many options for cross-platform app development, but I would suggest Adobe AIR as it is also supported on the Blackberry Playbook by RIM. As far as I know, it's the only cross-platform runtime that is supported by a major platform owner.
I have also seen it do well on Android, and iOS support is also advertized.
Well there are definitely some supposed "write once, run everwhere" solutions out there. Here is one from RhoMobile which specializes in this space. But that is just what a quick Google search turned up. I haven't tried any of them.
I had an app that was developed for Android, and I ended up essentially re-writing it in Objective-C when I wanted to port it over to iPhone. It worked out pretty well and took less time than I thought (considering I hadn't done any iPhone programming prior). But now of course I have 2 code bases that I have to maintain and when I add features I'll have to do it for both the Android and iPhone version.
So having a single code base that lets me build apps for multiple platforms would be great. Do any of the tools out there work well? Not sure. Do they give you full control to make your app look and operate the way you want it, and make us of all the OS's features? Not sure.
Qt (now owned by Nokia) is another provider of a cross platform mobile framework
http://qt.nokia.com/
Even though iphone and android seem to be missing from their official Supported Platforms list I think there is an Android 2.3 release just around the corner. Qt for Iphone also seems to be in the works.
HTML5 may be one solution if the app you providing is simple enough. Google is doing it this way. Otherwise, even you have anything "cross-phone" it may still feels alien.

Is MonoTouch now banned on the iPhone? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
A recent post by John Gruber notes that the following legalese:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.
Has been revised as follows:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
And makes the following observation:
My reading of this new language is that cross-compilers, such as the Flash-to-iPhone compiler in Adobe’s upcoming Flash Professional CS5 release, are prohibited. This also bans apps compiled using MonoTouch — a tool that compiles C# and .NET apps to the iPhone.
Does this in fact ban the use of Monotouch for the IPhone?
Update -
This changed recently. MonoTouch should no longer conflict with
the agreement. Any statements below are purely historical!
Yes, it seems pretty clear from their license agreement now that if the original application is written in C# then it would be violating the license:
...Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine...
They even hammer it in a little further:
Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited
Kind of a bummer, MonoTouch and the Flash CS5 -> iPhone converter are very cool.
Update:
Apple has dropped (almost) all technical requirements for languages and libraries for iOS, so MonoTouch is without a doubt a viable solution. See Apple's announcement.
Most people here simply want to take Apple's document by the word and say "yes, its banned". Well, here's my point of view: at this point, nobody really has any idea if MonoTouch is going to be banned or not, and I'll explain why:
The Apple agreement version 3 (not the latest, the one before) clearly states that its illegal to use any other frameworks to develop applications other than the ones provided by Apple:
3.3.2 An Application may not itself install or launch other executable code by any means, including
without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.
No interpreted code may be downloaded or used in an Application except for code that is interpreted and run
by Apple's Documented APIs and built-in interpreter(s). http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf
Even though that's the case (and was actually the case since 2.x, apple doesn't have any problem accepting applications that do exactly that. For example, ALL EA games use Lua scripts, and lots and lots of people use external libraries that are not native to the iPhone. Even when the iPhone has those native APIs, Apple never had a problem accepting applications with different versions of it, like SQLite.
My point is that saying "YES, they'll be banned" right now is simply WAAY too early. The only clear thing at this point is that Apple could in fact use that to ban apps. Just like they accept Apps today that are against some of their rules, they'll probably continuing doing so.
There's also the fact that are hundreds (or probably a few thousands?) of apps in the store currently running Mono, and Apple will need to accept updates for those apps. Major apps with millions of sales were created using Mono (and Lua), and I doubt they would refund every single user.
Lastly, Enterprise applications are deployed to iPhones without Apple's approval, and that's a big market that MonoTouch is on (I myself develop enterprise apps). There's no way at this point that Apple could ban MonoTouch for those applications, and that will probably be enough to keep MonoTouch alive for a long time.
Update:
New changes to sections 3.3.1, 3.3.2 and 3.3.9 have made MonoTouch (and all other cross compilers/languages/etc) perfectly acceptable on the iPhone. See Apple's announcement
Miguel doesn't seem to think so. See the tweet and Miguel's response. Lets not overreact here and say that Monotouch is dead, or stop developing with Monotouch until some clarifications have been made by all parties involved.
That said I would definitely start putting the heat on Apple for such draconian development policies. Things like this, and the nebulous process that is the approval policy of iphone/ipad/touch apps should strike fear into the hearts of developers. What's next, their license stating that the only Ad platform you are allowed to use is iAd? Not allowing the distribution of free apps without iAd? Slowly raising Apple's share of the revenue of app sales? As developers in a locked down eco-system, we are kind of frogs in a pot of hot water, and Apple is slowly turning up the heat. Now is the time to explore other mobile platforms, because as they get better, the main thing holding people to the Apple platform is lack of applications on other platforms.
I spent months of evenings working on ideas for a killer iPhone app in Objective C. My day job is C#. I downloaded MonoTouch C# when it became a viable alternative and have just spent 3 months converting my code to iPhone specific MonoTouch C#. Which stopped me going mad through switching from C#/Objective C.
What do I do now throw it all away and start again or give up!?!
I feel really sorry for the Mono guys. This is plain wrong. It is one thing to stop Adobe who haven't launched their product and have no customers and to stop MonoTouch who do and also have approved product in the AppStore.
Why would anyone want to build a business and invest in Apple when they will take it all away at a moments notice without being answerable or questionable?
Clearly developers and customers of Apple caring for them and their products is a one way street.
I hope Apple gets trounced for this ridiculous policy. Arrogance is not attractive and generally bad for business. This is one of the reasons I haven't started iPhone development.
Most hardware and OS providers are happy to have additional tools and audience to write to their platform. Apple is taking the stance that its (braindead) tools are the only game in town.
The "Big Brother" ad from 1984 is more and more relevant...
EDIT
The way it is written also seems to imply that if I wrote a .net to objective C/apple translator that the code isn't acceptable because the original code was not objective c. That is ludicrous (and unenforceable.)
Unity is also based on Mono and with that being a sizable commercial product I imagine that this is an issue which we've not heard the end of yet.
Banning all apps that are not written in Obj-C/C++ would, in theory ban all Unity games also, of which there are a large number already in the app store.
This question has also been asked over on the Unity Answers site, and their official answer is:
"We just heard about the iPhone OS4.0
and the new Terms-Of-Service. While we
believe we are fully compliant with
these we are right now doing all we
can to get this verified by Apple. As
soon as we know precisely, we will of
course share that info with everybody.
Please hang tight while we get this
sussed out."
Be interesting to see what they get told by Apple.
The thing is, surely saying that an app has to be written in a certain language is a bit of a misnomer, as once the app is compiled down, it's always a native binary regardless how it's been built. My guess is that all they can look for is some kind of signature in the binary to detect what tool it was built with. A flawed approach.
EDIT: There is an interesting overview of the situation on this blog: monotouch now dead in the water what does apples new iphone developer agreement mean
The new license agreement is explicitly clear about that. So YES, it will be banned.
Advice, if you want to really develop for iPhone, try XCode. If you are already familiar with Java or C# or yet better C++, then learning Objective-C wont be that hard.
iPhone/iPad is Apples new successful business, and they will do anything to keep this business growing, maybe they will not ban Monotouch apps now, but who knows there next move? So if you are really really interested in iPhone dev, instead of having nightmares that your work might be just rejected. Just switch to XCode, at least that will lower your app reject percentage. Hence, my advice.
I think something to strongly consider is Apple's motivation.
I agree with other sentiments posted online that Apple is trying to prevent commoditization of applications - that is to say, having more and more applications written using frameworks that generate applications that can run across multiple devices.
But that's not what Monotouch is. Monotouch is all about using the Apple frameworks to write applications - but through Mono, not Objective-C. So from that standpoint what Monotouch is doing is not something that should really bother Apple.
I still hold that developers are better off writing in the native language of the platform they are using, as things are just generally smoother when you don't introduce system that can have abstraction impedance mismatch - the Cocoa frameworks were all built to be used from Objective-C, and they make the most sense when you are used to the philosophy of Objective-C. But I do hope that Apple comes down on the side of allowing MonoTouch to be used.
All Apple is saying is that you must all now use 1980's languages to develop your competition beating state of the art Mobile Applications....
Makes perfect sense. Sounds like a winning strategy to me.
It also stops you from using any 3rd party libraries that you can't guarantee that have been developed in straight C, C++ or Objective C.
So basically it means that you can't buy in Games API's such as Unity.
Just adding my 2 cents. It seems that after reading this part: (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited) there is nothing to discuss. They have expressed them unambiguously. Not only they are banning MonoTouch and Unity3d, it seems they are also banning Titanium Framework. However, after reading this article, i found myself really confused.
I am not familiar with US laws, but is it legal? I mean, aren't they breaking some anti-monopoly laws?
Besides all of this, i can't understand their motivation. Not only will they partly lose a developers interest, they will also lose a developers respect, i think.
As of today, Section 3.3.1 of the Apple iOS Developer Program License has now been reverted to the old text:
3.3.1 Applications may only use Documented APIs in the manner
prescribed by Apple and must not use
or call any private APIs.
Apple has released an official statement on the license changes.
This would indicate that it is now permissible to use MonoTouch.
One goal of the Mono team is porting Silverlight to the iPhone by mean of MonoTouch/Moonlight for cross platform development. That's a bit like porting Flash to the iPhone. There is also Monodroid on the way to help us porting applications and, you know, Apple runs amonk every time someone says "Android" :-) IMHO, if Apple is targeting Adobe with the new agreement, they are targeting Novel too. We are probably speculating and there's a NDA but many of us invested a lot of time on this platform so we need to make the situation clear. We cannot wait next summer to discuss this matter. For example, I've been asked by a friend to help his company to prototype a MonoTouch application for a customer. Does the new agreement only affect the App Store distribution? What about in-house distribution?
This google docs spreadsheet has a long list of apps that will be affected by the new agreement. Some noteable ones that have been #1 in the appstore for their category:
Monopoly
Lemonade Tycoon
Skee ball
The settlers
Zombieville
One of the funny inclusions is Toy Story.
oMany apps have been accepted within the last few days written with the help of monotouch and unity, whereas I also am using it as well as obj-c, since the announcement and change in the agreement, so GO FIGURE,...the good ol'WTF comes to mind. It is a bipolar piggybank it seems.
ALSO, the last Unity Game GiantMOTO, which is under HOT NEW GAMES - YESTERDAY, has on its splash screen onLoad in big letters, POWERED BY UNITY. So, all the conjecture, assumptions, etc. is really out the door. It might say all that in the new version, it is certainly NOT enforced. And montouch is the only development platf that FULLY exposes iPhone API and builds COMPLETELY into obj-c using XCode.
From what the license agreement says MonoTouch apps will clearly not be allowed in the AppStore.
The more interesting question is though, against which framework / apps will they enforce it? They will also have to write automated tests to check if the apps were written natively or not, because the people who approve the apps won't have the time / skills to do it for every single app. These apps won't put a sticker there 'Using MonoTouch / Flash'.
Short answer to all that blob in the agreement is YES.
Apple is basically shooting itself in the foot by limiting programs to a few languages:
C - which is not really suited for application development these days, due to it's low-level nature. It's mostly a systems programming language today.
C++ - which makes it harder to shoot your phone, but when it happens, it's with a bazooka. Apart from Qt, there aren't any complete application frameworks to use in C++ (and Qt doesn't support iPhone - yet).
Objective-C - which was invented by Apple and of course will be supported.
JavaScript running in WebKit - basically a web application.
They are deliberately limiting what tools you can use to develop for iPhone, which will almost certainly get them in serious trouble. I'm sure a good sized chunk of the community will just quit iPhone development and migrate to a different platform like Windows Mobile, Symbian, Android or Maemo, which are totally open - you are free to write your application in LOLCODE.
Apart from possibly making iPhone junk for developers, it also gives Adobe a nice kiss:
Apple deliberately blocks Flash from iPad, and now they are also blocking it from iPhone. The nummer is Adobe Flash's CS5 biggest feature is deploying Flash applications to iPhone.
tl;dr: Apple is basically shooting itself in the foot with this move.
It's now months after the flash debacle and it's pretty obvious Monotouch and Unity are doing just fine.
As per "Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited"
Monotouch compiles code down to a native binary, there is no "layer". They're referring to somethign like a .NET runtime, Java JVM or Flash runtime.
Mono applications would normally compile to bytecode which is and would require JIT (just in time) compilation to run them thus a .Net framework or Mono framework is required. However, in the case of iOS and Android, Mono application compile to native code. Therefore, in the eyes of Apple, there is no third layer, Apple will never ban Mono. So you can feel free to develop with MonoTouch and distribute your apps. To ensure you further, there are various of Mono applications (including games and applications) on the AppStore that have been around for a long time.