Can solutions like "Airwatch", "Mobile Iron" be tested in Mobile Emulators? - mdm

There are several market players available for MDM.
Two of the most prominent players on the market are AirWatch and Mobile Iron.
My question is can solutions like AirWatch and Mobile Iron be tested in Mobile Emulators instead of real devices for their expected behavior? (i.e. correct security implementations)
Considered Platforms
Android
Windows Phone

No, you cant work with these MDM on the emulator. MDM works with various parameters like UUID (Unique ID), deviceToken, iOS certificate signing, etc.. These parameters can't be provided my emulators.

Related

Host options for an iPhone app

I'm developing an iPhone/android app and, in the case of iphone one, I need to host it asap. I am about to finish it but the average time to be published in the AppStore is about 7 days once been aproved. I was looking for any othe host but I'm not sure if they would be work as AppStore, I mean: downloading by everycustoner without doing throught Cydia or things like that.
Any suggestion or experiences?
Thanks
If you have an enterprise account, you can use Enterprise Distribution for in-house apps. But you probably don't, or you wouldn't be asking this question.
If it's a very limited number of devices and you have personal contact with all potential users:
You could deploy it on devices yourself.
You could use ad-hoc beta distribution (made easy with TestFlight, for instance).
Other than that - there are no other legitimate options.
If you want widespread, "ordinary" distribution of a native app on iOS, you'll have to go through the app store, period.
Other than for time-limited plus number-of-devices-limited beta test distribution (Ad Hoc and/or testflight), the only host option for unlimited distribution of an iOS app to ordinary customers with stock devices is waiting for an app to be approved and hosted on Apple's iTunes App store.

Should I obtain a Mac to develop or test my iPhone web app?

I've been developing an iPhone web app on a Windows XP box using
MobiOne Test Center and Safari for testing and debugging and
occasionally using a real iPhone for testing. The problem is that
MobiOne, Safari (desktop), and the iPhone all produce different
errors. Obviously I am most concerned with the errors that occur on
the iPhone, since that is the target device. (An example of the type
of error encountered is that an image that ordinarily appears as
expected occasionally cannot be displayed, so the little question-mark
icon appears instead.)
I have the opportunity to obtain a Mac for development, but I need to
know whether using a Mac will make a difference.
Have any of you moved to the Mac for developing or just testing a web-only iPhone app?
Is doing so worthwhile? Why?
Does the iPhone simulator in the SDK simulate an iPhone better than Safari on the Windows desktop?
Is there a reason I would need a paid subscription to the Apple iOS Developer Program?
Thanks!
In short: no, I don't think a Mac is necessary for developing iPhone web apps, especially seeing as you have access to a device to test on, and you seem to be fine in your progress of development.
If you're not aware, there's a debug console available on Mobile Safari on your iPhone. Go to Settings > Safari > Developer (at the bottom) > Debug Console and turn that on.
When developing an iPhone web app, you do not need to pay for the iOS Developer Program. That program is for developing native apps to deploy either to your company or the App Store only.
Web apps, on the other hand, are nothing more than web sites that are designed (i.e. include certain meta tags, have mobile-friendly interface designs) to be run similarly to native apps on a device, and harness certain Web technologies such as geolocation that are available to devices. Users view them in Mobile Safari like any other web site, but for the best experience are asked to tap on the + sign and add your web app to their home screens to be accessed as such.
The iPhone Simulator certainly does a better job than desktop Safari on either Windows or Mac OS X since its user interface shares that of the iPhone device, but I don't think you'll need it for testing and debugging if you have a device to test on.
The iOS SDK has a tool called Dashcode but I don't think it's much of a difference from the web dev IDEs that the rest of us use every day. As far as I can tell, Dashcode doesn't give your web app any additional features that can't already be implemented using the standards we're familiar with.
I would not buy a Mac or a paid subscription to the Apple iOS developer program unless I was writing native iPhone applications.
You should be fine with your current configuration. Just make sure you do the bulk of your testing on the actual iPhone, that is what your customers will be using.
Does the iPhone simulator in the SDK simulate an iPhone better than Safari on the Windows desktop?
Yes - there are some significant differences between MobileSafari and Safari for Mac/Windows - but you've got an iPhone to test on. The iPhone Simulator offers no additional debugging tools for iPhone web apps, so you're not going to be better off having it available than just testing on the device.
Testing on an actual device is better than testing on any of the Simulators, since that is what you mobile customers will actually be using.
If you are strictly building web apps, your money might be better spent on more test devices (devices with and without a Retina display, iPad, maybe an old used iPod Touch running some prior version of iOS for regression testing, etc.) If you are choosy about your colors, the color can vary quite a bit across devices, so it may help to find one warm display and one cold one (from old/different manufacturing lots, etc.).
So you don't NEED a Mac (unless you have other reasons for acquiring one).
Buy an iMac. You will enjoy the experience better.
It is my understanding that your application needs to be compiled on a mac before it can be sold in the app store.

Target Hardware Requirements for iPhone Development

Are there limitations to doing iPhone development on an iPhone without a contract? That is, can one purchase a used iPhone from ebay and successfully develop software for the iPhone? Will GPS work?
It will work just fine in general, I've been using a first generation iphone sent from my employer in the states for months as a test and development phone without any issue. I have been using wifi for all network related stuff and tested 3G on my own personal phone using ad hoc builds. This phone doesn't have a valid phone contract and I just flipped it into airplane mode then turned on the wifi.
The gps appears to function fine too, I haven't done anything with gps info via the api yet, but it looks like it is pulling in the data in maps just fine.

Is Android development restrictive in any way like for the iPhone?

Is Android development restrictive in any way like the iPhone, or can you download whatever and from whoever you want?
I want to learn about development for either iPhone or Android, but from what I hear iPhone development is pretty restrictive!
There are a variety of areas to consider regarding the relative restrictiveness of the two platforms.
The Market
Android Market is undoubtedly less restrictive than the App Store when it comes to the submission process. The upside is that you can get pretty much anything you want into the Android Market. The downside is that you can get pretty much anything you want into the Android Market (a market flooded with spam "applications" is in some ways a restriction).
A big negative on the iPhone side is the fact that your options for installing applications that are not in the App Store are limited -- you can either distribute the application as a beta (limited to 100 users) or jailbreak your iPhone. Android, however, allows you to install apps from anywhere, including a web page.
The Applications
One of the core design philosophies of the Android platform is "All Applications are Created Equal", which is supposed to mean that you can freely replace applications on the phone with a third party version. In practice this is not really the case, as many of the Google applications either have special capabilities not available to most applications (see: Android Market) or use undocumented/native APIs (see: Calendar).
The iPhone on the other hand makes no such claims about equality, and the Apple stance in general is "There is only one way to do it, and that is the Apple way". Additionally third party iPhone applications may not run in the background while Android applications can. New for iPhone OS 4.0 is the ability for apps to run in the background. One thing iPhone applications can currently do that Android applications can not is receive push notifications. New for Android 2.2 is the ability for apps to receive push notifications via something called the Android Cloud.
The Source
Android is open source - mostly (some firmware components are closed source). Even so, there is some rocket science involved just in getting the Android codebase to compile. In addition Google has sent cease & desist orders for redistributing custom images that include the Android Market and Google Maps application.
The iPhone is completely closed source, and recent changes to the developer agreement have been controversial as they mandate that all apps submitted to the app store 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"
The SDK
The Android SDK can be freely downloaded; the iPhone SDK requires free user registration to download. Android development can be done under Mac OS X, Windows or Linux, while iPhone development is only possible under Mac OS X. You'll also need to pay for the $99 iPhone developer account if you want to test your software on an actual device (rather than the simulator).
The Userbase
And last but certainly not least, the userbase. When this answer was originally written the iPhone had a much larger userbase and was growing much faster than Android. This is changing as Android begins to support multiple carriers and hardware platforms (see: the Open Handset Alliance). The list of devices running Android is now quite long although none yet match the popularity of the iPhone.
Some analysts are now reporting that Android is outselling the iPhone and are predicting that Android will soon overtake iPhone for market share. Other analysts think that Apple will make up ground when the iPhone 4g is released. The former seems more likely based on the parallel history of the PC industry -- Apple's design and user experience were copied by GoogleMicrosoft and opened up to run on commodity hardware.
Nope! That's the beauty of Android. Even though there is a AppStore equivalent, you can download an app from anywhere. Plus, it's programmed in Java, so you don't have to worry about all that mundane stuff like garbage collection (just at the cost of speed).
Don't mean to insult the iPhone. It is a great platform too.
EDIT: A lot of people have been noting that the iPhone APIs are not restrictive, but rather the approval process is. This is true, however the iPhone's APIs are still somewhat limited, in the way of low level hardware access, backgrounding (only notifications in 3.0), etc.
iPhone 3.0 is a step in the right direction, but there is some work left to do.
Also, have you considered making JB iPhone software? I'm not sure of it's market share, but I do know of a lot of people with Jailbroken devices.
EDIT: I have read in some more posts on similar questions that Android's Java can slow things down due to the Garbage Collector. Just something to watch out for.
If you say iPhone is restrictive, I would describe Android as immature.
There are still many bugs in Android that you will inevitably run into if you are doing some none-trivial programs. Some of those only exist on the emulator while others only on the actual phone.
Though in my experience, developing on Android with Eclipse feels just as good as developing on iPhone with Xcode, if not better. The tool set provided by Google is very complete and is cross-platform. Garbage collector does make huge difference while programming.
I'm assuming you already have a Mac otherwise the iPhone wouldn't be an option at all.
iPhone development isn't particularly restrictive. Getting the resulting app on Apple's App Store is the restrictive part.
If the app you're working on follows Apple's guidelines on what an iPhone app is allowed to do, picking that as your initial development platform seems a no-brainer. If it violates Apple's guidelines and can't be modified to follow them, your market will be restricted to jailbroken phones - a very small subset.
Well is Apple open at all? Uhm.. eh.. no. Closed hardware, closed software, closed everything. I think Alcatraz is more open then Apple, at lease you get to leave your cell there.
You can write an application for the iPhone. Will it get approved? Well not sure. They could deny it for any reason whatsoever. You may have used a blue background and Apple only likes white and gray, thus deny.
However with Android it is completely open. You can develop for it, or even develop Android itself. No fear of ever being denied.
But in all seriousness. Apple has a larger market share, millions of people use and love the iPhone and they will most likely not be leaving for quite a while. While on the other hand the Android was for T-Mobile. Does anyone even use T-Mobile?
IMO if you do not have a gPhone I would develop for the iPhone. However as much as I dislike the Apple philosophy of being such a closed nature, they are the better bet if you wish to make some money with your application.
There are some restrictions...
some functionality requires rooted phones (e.g. Wireless Tether for Root Users)
distribution via the Android marketplace is subject to the Developer Distribution Agreement. Google limited access to this tether app due to their carrier agreements.
some Android APIs are not finished (e.g. Bluetooth HID)
'Restriction' can mean two things:
The ability to install anything you want. Google is very good at that, Nokia somewhere in the middle and Apple is the worst
What you are able to do with you app. They all have arbitrary restrictions on what you can and can't do, but it seems to me Nokia is the least restrictive, Google inbetween and Apple the worst (again).
YMMV
No, you can sign the application yourself and distribute the resulting APK file via your own web server or by other means.
Yes, Android is indeed open and you can publish whatever you'd like to the Market Place
But:
you still need to learn how sign your application and mind the technical posting requirements to the market (like keeping proper version IDs etc.)
if you really want to get/send a package from/to anyone, then the receiver of the package (called an APK file will need to know how to use a command line tool called 'adb' to administer their phone to install & uninstall applications. It's pretty simple to do, but
you need to have Android drivers installed and the SDK tools.
To be fair to the iPhone development model, you can also distribute test versions of your application reasonably easily, though perhaps not as easily as with Android. Your testers need to provide you a special device ID which they get from iTunes while the device is connected, then you create a license file containing keys for all of your testers which you distribute with the release directory of your application. The users then install your application via iTunes.
In most cases no, but Google has allowed the carrier and the device manufacture the ability to restrict certain things. Carriers are allowed to block individual apps. Also carriers/manufactures can prevent certain features of the device.
One example is the Motorola Backflip, it wont let you install non Official market applications. Also some phones do not have access to the Official Market.

can Jailbroken iphone used for development

We have paid developer account for iphone development and we have 2 iphones one jail broken and other one non jail broken. We have registered both phones for development and got provisioning profile. We can use non jailbroken phone for development. But we try to use jail broken phone for development we get message Error starting executable no Provisioned iphone device is connected.
But We can test application on it using ad hoc profile.
Does this means jailbroken devices can not be used for development?
Regards,
Manish
I personally do development/testing on jailbroken devices (I find that it is nice for profiling/debugging with all the UNIX tools available, as well as testing out code for checking for tampered plist files ;-) ) as well as non jailbroken devices.
I have not had any problems specifically with jailbroken devices, as they behave exactly like stock standard firmwares..
Have you:
Added the UDID to the provisioning profile
Tried removing and adding the provisioning profile in XCode organizer
Rebooting the phone then trying to build an app targeting the device
I personally am paying the $99 per year and use my iPod Touch 2G (jailbroken) for development purposes. I have seen no disadvantages to using jailbroken devices for development. I have actually seen some advantages to using jailbroken devices.
I have no any problems with development for jailbroken iPhone. Moreover I like to use several advantages... for example full-featured UNIX console environment into device.
In additional using jailbroken iPhone may help developer better understand how iPhone/OS/Environment works at low level.
You may add new Target to your project and use it if you connect jailbroken device.
You just need to add two keys for new target in User-Defined Settings (Target->Get Info->"Build" Tab->Show "User-Defined Settings")
PROVISIONING_PROFILE_ALLOWED NO
PROVISIONING_PROFILE_REQUIRED NO
So you will have two very similar targets... one for jailbroken and second for povisioned iPhone.
Be warned - the iPhone Developer agreement now bans you from jailbreaking your phones:
http://news.softpedia.com/news/iPhone-Developer-Agreement-Bans-iPhone-OS-Jailbreak-108599.shtml
I'm not sure what you should do if, say, you want your application to disable itself on jailbroken phones - how would you test it?
Jailbroken devices won't work with push notification. I lost almost one day with one such device. So better stay away from jail broken device for development .