Do i need a separate iMac for OSX Server on Mavericks - ios

I am an iOS developer and I want to implement continuous integration in Xcode.
I have received following email from Apple
As an iOS developer, you can now take advantage of continuous integration in Xcode by creating bots with OS X Server for Mavericks that automate the process of building, analyzing, testing, and archiving your apps. As the bots do their work on the remote Mac, Xcode on your development machine displays the build and test reports. Bots can generate a regular release for your QA team, be configured to execute on every check-in, and even test your apps on connected iOS devices.
I have downloaded OSX Server for Mavericks and its like Application.
My Question is can I install OSX Server on my development iMAC machine and implement continuous integration? Or I have to have a separate iMac for OSX server???

I am running OS X 10.9 and the Server.app on my MacBook Pro Xcode development machine with no issues. I realize that your question is specific to an iMac, but I would not expect any issues.
I have a few Integration Bots configured and everything is working fine. The server is building, running test on real devices, and sending me pass/fail reports via email.

You can install OS X Server on the development iMAC. Configure the server and Xcode for Continuous integration.
Guide: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/
WWDC video:
http://devstreaming.apple.com/videos/wwdc/2014/415xx83xkyr55fj/415/415_hd_continuous_integration_with_xcode_6.mov?dl=1

Related

Running flutter app in real iOS device [Windows]

I've been searching similar questions but ended up with concerns regarding the actual deployment. I have no problems deploying ios version because I'm using codemagic.
My question here is if it is possible to perform flutter run if I connected an iphone? Like how I use my android device and have USB Debugging enabled.
There are cases that some functions work in android but doesn't in iphone. So if it possible to run my app in an iphone and debug it, I'll just buy an iphone instead of mac since my windows machine is very capable.
Technically you have to own a Mac to build iOS apps. You can use external service to do something similar to what you want though. You will never be able to plug your iPhone to your computer and update your app but you can build an app and install it on your iphone.
For example with Appollo. In this case you have to install Appollo from your CLI
pip install appollo
Then configure Appollo to work with your developer account.
Finally, you can build an IPA file
appollo build start --build-type ad-hoc
appollo build ipa
and you can then install this IPA on your physical device.
No, unfortunately you cannot do this because the one who builds the application for iOS is the Mac machine, not the Windows device. So, the problem here is not in connecting the mobile to Windows, but rather in the reliability of building iOS on Mac devices only.

How can I connect IOS project created by flutter to firebase? [duplicate]

I am new to developing mobile apps and wanted to try Flutter but I use Windows. Because Flutter doesn't support Windows yet I had the idea to use a virtual machine running Linux to install Flutter. Does this work?
Also in the Flutter setup it says this:
To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.
Is there a way to develop iOS apps without having a Mac?
Yes, you can develop iOS apps with Linux (or Windows) using Android Studio or Visual Studio Code. The point of Flutter is that you have one code base and can deploy to both Android and iOS. So the development phase is no problem.
In the past you could only deploy iOS apps to the App Store if you had a Mac, but there are some more options now. See the following articles:
How to sign Flutter apps for iOS automatically without a Mac
Developing and debugging Flutter apps for iOS without a Mac
How to develop and distribute iOS apps without Mac with Flutter & Codemagic
Build an iOS app without a Mac or iPhone using Flutter
To test your app on the iOS simulator, though, it is still necessary to have a Mac. However, theoretically the app should have the same behavior for most things as on an Android device, so you wouldn't necessary need to test it using the iOS simulator. I would say long term you would probably want to consider getting a Mac, but it is certainly not necessary in the beginning.
Update: In a recent app I made, my tests passed in the Android emulator but crashed in the iOS simulator. It was a normal bug and nothing specific to iOS, but for some reason the Android simulator didn't crash. So for a production app, you really do need to test it on an iOS device/simulator.
As you point in your question:
To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.
You can work around by using an external service (like Travis-ci or other) to build your code for iOS. However it's not usable as a developer workflow as that can take several minutes to get the artefact.
You should check out MacOS cloud solutions like MacInCloud. There are CI/CD solution that will support it (e.g. CircleCI and BitRise) however these are not suited for development.
Services like MacInCloud allow you to remote desktop into a Mac where you could conceivably use XCode remotely.
Windows is now partially supported in the way you can edit and publish for Android but you still can't create for IOS where a mac is required (XCode).
More informations https://flutter.io/setup-windows
You can use tools like Appollo to do just that directly from Windows or Linux. Appollo is a python CLI tool.
To install Appollo run pip install appollo, then setup your developer account with Appollo (https://appollo.readthedocs.io/en/master/tutorial/2_configure_app_store_connect.html) once this is done you can start building your app with appollo build start
You can check out a few example videos here : https://www.youtube.com/channel/UCBNRrJd4UP0QQRoYF4JOEmA

Visual Studio 2015 hangs on deploying cordova application

I'm trying to build a blank cordova application into my iPad Air 2 with Visual Studio 2015 Enterprise edition as i've already done it with success with the release candidate version.
I've got node.js v 4.2.2 on both machines since version 5.2.0 was hanging the build indefinitely, i've also got latest version of iTunes (12.3.1) as well as iOS 9.2 on the mobile device.
I've got the remote MAC set up and everything works fine for the building part, infact i've checked and the .ipa file is there at the end of the build into the folder ...\Documents\Visual Studio 2015\Projects\BlankCordovaApp1\BlankCordovaApp1\bin\iOS\Debug and if i launch that it will correctly install into iTunes and the iPad itself.
The problem is that the build action with Configuration "iOS" and "Local Device" with the iPad connected to the windows 7 PC will hang indefinitely after copying back said .ipa file after writing this line into the Build Output:
2>------ Deploy started: Project: BlankCordovaApp1, Configuration: Debug iOS ------
No matter how much time i wait it wont start the debug session even if i authorized the pc onto the iPad and have my web Inspector turned on onto the safari options. At this point i have to interrupt the build to be able to work again.
What really gets me is that if i connect the iPad to the MAC machine and build with "Remote Device" option the build works fine and i can debug remotely from my windows pc, unfortunately working like that isn't an option since the Apple machine isn't in the same room of my developing machine.
Any insight about this issue would be really appreciate, thanks in advance.
You are using a recent version of node and thus will also need to use a recent version of Cordova.
Specifically, you need to use Cordova 5.3.3 to be able to use Node.js 4.x.x+. The hang you are experiencing is exactly why. It's an incompatibility with a down stream node module and Node 4.x.x. You can downgrade to Node 0.12.x or upgrade your Cordova project to 5.3.3.
http://cordova.apache.org/news/2015/09/22/tools-release.html
Note that Node 5.x.x is only supported in Cordova 5.4.1.
This should be addressed in the latest VS Tools for Cordova Update 6. Deploying to local device is now available.
Take a look at http://microsoft.github.io/vstacoblog/2016/02/04/announcing-update-6.html.

Jenkins and OS X Server on the same machine

I'm working on a Java App and on an iOs App. I will like to make continuous integration on both projects.
I know that Jenkins can be use for CI on iOs projects, but I have to use OS X Server for the iOs app.
So I would like to know if someone has configured a mac with OS X Server using CI with XCode Bots, and Jenkins on the same mac ?
Is there some constraints to respect configuring OS X Server and Jenkins on the same machine?
thanks
I haven't tried setting it up on OS X Server but I did it successfully on Mavericks using this guide here:
http://www.brianjcoleman.com/tutorial-setting-up-a-jenkins-automated-build-server-for-ios/
I'd say to just give it a try and see what happens.
So I just install OSX Server, config XCode CI on it, and check if integration working on my project.
After I install Jenkins, set it up for my other project and it's running pretty good.
I just have to try building the two project at same time, but I don't think that make any problem knowing that Jetkins and XCode bots create new process for each build.

iOS continuous build server from svn

I need some tips regarding continuous integration for iOS application. My previous build system was with Jenkins.
Jenkins in a windows machine ssh to my Mac, build it and then upload to an internal server for testers.
http://i-phone-dev.blogspot.no/2013/07/jenkin-build-xcode-project-in-mac-slave.html
But I would like to update my build server and want to have a dedicated build server for continuous integration. My office have total windows system running with SVN server and other things.
First I will buy a machine, mac mini or mac pro.
I need suggestion on
Advantage of using Mac Mini Server and Mac Pro
I guess now there is no Mac Mini Server now. I see only Mac Mini in Apple website. Probably with Mac Mini I have to buy Mac OS X Server.
Do I really need OS X server. Or I can use OS X with Jenkins?
But it seems to me like, if I want to use XCode continuous integration then I need OS X Server.

Resources