How to implement Mobile Device Management in iOS 7? - ios

I have gone through a lot of documentation related to Mobile Device Management in iOS but still I have a lot of confusion about it.As per the apple they have made a significant change in device management in iOS 7 but still most of the blogs written about it are old and absolute.Can somebody please give me a brief explanation of how I should go step by step in iOS 7.Also I want to know if I don't have any MDM server initially then how can I test my code.Is Maverics local server sufficient enough to handle this or we can't process without an MDM server.If it is then please suggest me how should I go.
References:
iOS: Mobile Device Management
Mobile Device Management with iPhone
iPhone Mobile Device Management

There was NO significant changes between iOS 6 and iOS 7 in MDM protocol. Yes, Apple added additional features, configuration profiles and so on. And usually, they call these things "groundbreaking/revolutionary changes" :)
Actually, the protocol stayed the same (with very minor changes) from version iOS 4.0 to iOS 8.0. I would say the bigest changes were around creation of APNS certificate.
So, you can take any open source implementation of MDM and use it for iOS 7:
Profile manager (included in OS X Server). it's in some mix of ruby + binary
WSO2
iMAS
P.S. I would recommend to ask more specific questions. As example, I started to implement MDM server and stuck on item X. I tried Y,Z and it didn't work. How to solve this problem?

Related

What are the *real* requirements for iOS development

As far as I can see, the requirements to develop for any iOS device are:
1. Own a Mac computer that runs the latest version operating system.
2. Register with Apple to be an iOS developer for $99.00 + tax, annually.
3. Own an iOS device that runs the latest iOS operating system your application will support. For a professional iOS developer, that means the latest operating system out.
Am I wrong?
If so, where? I've just bought a brand new iMac and I'm looking for a used iPhone. I want to make sure I buy one that will allow me to develop iOS in the latest version.
Yes, I worked at a company doing iOS development and I had to do those three things (They handled the registration), and nothing more. You don't need a physical phone either though, XCode comes with a pretty good simulator. When working I almost always used the simulator, occasionally pulling the real device for touch/UI testing. It's still important to check functionality in real life if you have a nontrivial UI, since it's hard to know how the UI "feels".
You need the latest version of Xcode (requirements for Xcode 10 can be found in this post). Having a relatively up to date Mac usually does the trick.
You need an Apple Developer account - $99 / year for personal account or $299 / year for enterprise account.
You do not technically need any iOS devices to do iOS development and releases; however, the simulator does not have all the functionality a real device has. So depending on your features, it may be required. Also, some bugs only show up on certain devices, so it’s always good to test on as many real world devices as possible. For more details on the capabilities of the iOS Simulator, check here.

Can I test my Codename One app on my iOS device for free?

I have written a simple to-do list app in Codename One, and so far I have used the simulator to test it. I want to see how it looks on a real device (iPhone 5s or 8 Plus), but I don't want to purchase the Apple Developer membership. I really don't want to pay $99/year (I'm a beginner).
I know I can get the app on my device by jailbreaking it, but is that the only way?
So basically my question is, is there any method of installing my Codename One app on my iOS device (without paying for the membership or jailbreaking it)?
Clarification: I need to know how to test Codename One apps on my device. This is not the usual concern about how to test iOS apps on a device without membership or jailbreaking. I understand how to do this if I am coding in Swift.
This video from Codename One shows how I can generate native projects. This alone would be sufficient, but building the iOS app requires a certificate, which requires an Apple Developer membership.
You need a certificate from Apple to test on a device without using xcode and we can't realistically provide a way around it.
Getting a certificate for free from Apple is a different thing. Educational institutes usually have access to an educational apple developer account that allows you to do just that for free so if you are a student or know a student you can get access to one of those and use it to test your app on your device for free.
Since Xcode7 you can simply build on your device with Xcode, if you don't use any restricted capabilities. That said you would need to run your cross compiled code from Codename One in Xcode, to be able to run it on a device without a membership. (Not sure if it is possible to retrieve the cross compiled code.)
More context on building on device using Xcode:
Test iOS app on device without apple developer program or jailbreak

Downgrade an iPhone for testing purposes

I am wondering if it is possible to downgrade an iPhone to older versions of iOS even when the firmware is not signed by Apple.
I am a developer and I might need to install iOS6/7 on my iPhone, which currently has iOS8.
Is there a way to do that?
No, if you had an older device and saved the SHSH blobs when Apple were still signing the firmware then you would be able to.
I keep an old device for each major version of the OS from 4 upwards, and you get get them on ebay for quite cheap. iOS 6 is a very small percentage of the overall market now, so unless you are needing to support it for a specific reason it would be best to drop support.
If anyone is still interested in this in 2017, you can save your SHSH2 blobs by following this guide & then using Prometheus from Tihmstar.

Do I need an iOS device to test PhoneGap Built apps?

I'm a complete noob and figuring out all this as I go along so bear with me.
I've built an app using jQuery Mobile, used PhoneGap Build and it works totally fine on Android and I'll deploy it soon. I'm now trying to figure out the more complex steps towards getting it ready for the iOS market. I've got my developer account set up and have tested my app as built with Xcode 4.2 and Cordova.
What I'm having confusion over (well one of the things) is whether or not I need an actual iOS device in order to get the proper provisioning and certificates. Can I get those, run the package through PG Build and then test it with the Xcode iOS simulator? Must I bother my friends to give me one of their iPhones to test on?
If I'm being vague or asking this the wrong way I apologize.
I'm currently building an app for iOS using Phonegap and even though I have done some testing with a physical device I have seen that the simulator works really well. I mean it would definitely be a good idea to at least run one test of your final version on a physical device before you decide to submit, Apple and pretty much everyone else very strongly suggest that you do, but you aren't required to test on a physical device. All the provisioning and certificate stuff can be done through the Apple Developer site.
The only real reason I could see your app not getting approved relating to this topic is if there is some weird glitch that is only present on a physical device and looks fine on the simulator.
And keep in mind, though it probably won't get you disapproved I've noticed that Phonegap apps that use jQuery Mobile tend to be more glitchy on the transitions compared to when they are run on the simulator.
No you don't need an iOS device to get certificates. You can get them using OpenSSL. I created a GUI to help do just this for Windows users.
However Apple is one of the strictest in approval. It takes 8 days for them to approve an app. And they have been know to not approve apps simply because of there appearance.
Now I myself prefer to have iDevices to test apps.
http://community.phonegap.com/nitobi/topics/detailed_guide_for_setting_up_building_ios_apps_without_a_mac
http://community.phonegap.com/nitobi/topics/ios_app_rejected_advice_on_how_to_fix_it
To help with some App Rejection issues you may get when submitting the app.
https://github.com/AndiDog/phonegap-ios-tabbar-plugin
https://github.com/LinuxPhreak/iOS-Win-Signer
You will need an Apple computer to submit apps to the App Store. Apple no longer has a web based App Submission

Developing for jailbroken iPad

I'm new to programming for iOS and on MacOs, so excuse me for asking a dumb question here.
But I wonder if I really need the iOS developer license or that I can jailbreak my iPad and then just develop for it. Would I be able to use the free version of Xcode with the latter?
Or would I still need to get the license to get the iOS Xcode?
Not that I am into warez, but jailbreaking is legal (where I live), so if I would buy the developer license just to publish apps, I would postpone this untill necessary.
There's an app called Jailcoder, which I discovered in a now deleted post (https://apple.stackexchange.com/a/34802/8699). It sets up Xcode and indvidual project files so that the resulting apps can be run on jailbroken iOS devices without a developer's license (and can apparently revert the changes, though I haven't tried this).
More info on jailcoder: http://oneiros.altervista.org/jailcoder/
You can just use the free version of the developer license which will allow you to develop iOS apps on the simulator. The only downside is that some hardware interfaces (core location, gyro/accelerometer, etc) cannot be tested with the simulator. If you don't need that stuff immediately just use the free license and then purchase the real license when you are ready to go.
Beginning Jailbroken iPhone Development is a two-part article that tells you how to get started. I haven't tried this, but it does look like it starts with setting up your tools through how to launch the jailbroken app on your device. There is a link to the second part of the article. There is no mention of needing a developer's license at all.
The article also refers to a tool called Theos, which simplifies the whole process.
I hope this helps.
This worked perfectly for me. Follow the steps listed in this blog article. And you'll be able to code for jailbroken iPhones and iPad devices :)
http://techtalktone.wordpress.com/2011/12/05/testing-your-ios-apps-on-a-jailbroken-device-2/

Resources