How can I develop iOS applications on a Windows Platform? [duplicate] - c++

This question already exists:
Closed 10 years ago.
Possible Duplicate:
iPhone development on Windows
Xcode 4 only works on Mac and I am getting project requests for iOS and I need to develop iOS applications without uying a Mac. I have a Windows PC. Is there an IDE which works well with iOS SDK or is developing C++ code which uses iOS SDK libraries the only choice?

If you are familiar with C#, consider monotouch. You will need a mac to register the app in any case.

One newer solution which is open source is called MonoCross.
Here's a link to their site, and here's the Google code site.
From their site:
Monocross is an open source cross-platform mobile framework using C#
.NET and the Mono framework. Monocross lets you create beautiful
applications on iPads, iPhones, Android devices, Windows Phone 7, and
Webkit enabled phones.
It uses C#. No C++ required.
Edit: MonoCross uses MonoTouch.

In your situation, if you have no Mac around, it will be better and easier to use VirtualBox (or VMware) and install MacOS there. And to develop inside the VB.

Related

Does one need an XCode to develop iOS apps using C++ on Visual Studio?

I've googled and not able to find a good answer. I do not have a Mac at the moment and have to develop an app using C++. Do I need any stuff additional to Visual Studio?
I mean I'm planning to use Xamarin and do I need an Xcode or at least Mac without Xcode?
Please check the link below:
https://msdn.microsoft.com/en-us/library/dn771552.aspx
The IDEs required to develop iOS Applications (Xcode, AppCode) are only available for Mac OS. So you would need to install a hackintosh version of Mac OS on your PC and start developing Apps and when you are ready with your App, you can buy a Mac and legitimately submit to the App-Store.
Please refer to this link for more information: iPhone Development on Hackintosh

Programming for Windows Phone 8 (and beyond) on GNU/ Linux

Since the VideoLAN programmers do write Windows 8/RT/Phone apps using Linux based operating systems and GCC I was wondering, whether there is some progress in regard to how to program for Windows in a Linux environment, where Windows is used only for testing. How easy/ hard is it, to program a Windows RT (modern UI whatever)/ Windows Phone 8 application on Linux?
I imagine a situation, where you use tools such as Git, Emacs/ VIM, GCC, Mono etc. to do the job. How about submitting the app without Visual Studio?
I ask, because Microsoft open-sourced so much stuff now, using Linux based OS for development could (should?) become feasible while developing apps for their systems. Does anybody have some behind the scenes information on this? It is very hard to find some relevant info.
Note I edited this question to be more "straight to the point"
Links:
This is the VLC Kickstarter page: https://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro
I'm a software engineer at Microsoft so I think I could give you some insights on this.
From a testing perspective, you should definitely have a Windows machine to test against. You can install Windows 8 as a VM using Virtual Box or something similar. You could also remote into a Windows machine if you have access to one.
Visual Studio can't be installed in Linux, as you know, but there are other C#/ASP.NET/etc. IDE's that you can use natively on Linux. Look into Wine for Linux: http://www.winehq.org/about/. It may help you somewhat.
As an aside, developing applications for Windows will be getting easier in the coming months. As was announce at MS Build, Microsoft is moving towards a universal app store that will make your app run on all Windows devices: PC, tablet, phone, and Xbox. This doesn't help with developing apps on Linux, but if you're a Windows developer, you might want to keep your eyes open about the new universal-style apps.

XAML apps using C++/CX for Desktop Windows

I have experimented with XAML UI programming using C++ for Windows 8 Store apps. I really like the developer experience, the XAML designer and the fact that I can get pure native apps with a modern rich user interface and high performance.
I want to create similar XAML apps using C++ for Desktop Windows (the non-Store world). How do I do this? For years I have waited for a native UI stack for Windows Desktop which is newer than MFC and somewhat higher level than direct Win32/GDI programming.
Both Silverlight and WPF use XAML along with code-behind to implement apps. Neither are still maintained but if you want to play with the same technology, it's there.
As Jeff McClintock mentioned, Microsoft has announced that a future update to Windows 8 will allow apps to run on the desktop, but I expect that this will merely be a windowing change and the apps will still run in the restricted sandbox that Store Apps run within. Maybe Microsoft will introduce yet another desktop-based UI framework and support it for three years before killing it.
WTL is newer than MFC, although its last update was six years ago. I personally recommend Qt, as it allows access to native Win32 calls (so you can do whatever ganky stuff Win32 apps normally want to do) while still having a rich, robust UI framework to build upon.
A future update to Windows 8.1 will allow Windows 8 Store Apps to run in a Window on the Desktop, and appear on the taskbar like a Win32 Application. This allows Store apps to Act a lot like Desktop Apps. MS have hinted store-app XMAL will be available to Desktop apps at some point in future.
http://www.gottabemobile.com/2014/04/02/microsoft-listens-to-users-start-menu-and-windowed-apps-are-on-the-way/
Codejock has some markup language support in MFC (native C++).
http://www.codejock.com/inc/img/downloads/samples/toolkitpro_markupsample_full.png
What I am looking at is C++/WinRT for native C++ applications that use the WinRT framework for UWP apps, at least for Windows 10. See C++/WinRT in the Microsoft Dev Center for a starting place.
C++/WinRT is an entirely standard modern C++17 language projection for
Windows Runtime (WinRT) APIs, implemented as a header-file-based
library, and designed to provide you with first-class access to the
modern Windows API. With C++/WinRT, you can author and consume Windows
Runtime APIs using any standards-compliant C++17 compiler. The Windows
SDK includes C++/WinRT; it was introduced in version 10.0.17134.0
(Windows 10, version 1803).
The intro article in the series goes on to say:
For authoring and consuming Windows Runtime APIs using C++, there is
C++/WinRT. This is Microsoft's recommended replacement for the Windows
Runtime C++ Template Library (WRL) and C++/CX.
I first got started with UWP apps for Windows 10 using C++/CX which uses the Microsoft Visual Studio C++ extensions with ref and all of the C# like extensions for C++ in a .NET world.
I am now working with Visual Studio 2017 and the C++/WinRT framework which uses native C++17 features along with an SDK. I believe you can also use C++/WinRT with Visual Studio 2015 with the latest updates, update 3.
There is also a package available from Extensions and Updates within Visual Studio, C++/WinRT, which contains a couple of Visual Studio templates for a couple of different application types.
C++/WinRT seems to be a work in progress. It seems best if you are using Visual Studio 2017 with the latest Windows 10, Version 1803, which contains the SDK and the XAML editor works fine. I have had problems with the XAML editor with an earlier build of Windows 10 Enterprise at work (IT Services maintains its own update servers and is a couple of builds behind the bleeding edge).
See also my question synchronizing SDK with Windows 10 update and using WinRT with Standard C++ which has an updated version of a test program from this article, C++ - Introducing C++/WinRT.

iPad/iPhone app developement in C++ on Windows OS

What is the fastest way to port an finished game project written in C++ to iPad. Is there any good way to do it without buying a Mac?
Marmalade (formerly Airplay SDK) is a cross-platform SDK that is well-suited to games. You can write your code in Visual C++ and run it in Windows in a simulator. Using a PC, you will not be able to debug (stepping, breakpoints, etc) your game while running on an iPhone. Deploying to an iPhone for testing (from Windows) seems rather tedious, compared to how it's done with XCode.
If you need to use iOS native API features that are not supported in Marmalade, you can build wrappers to them with the EDK (Extension Development Kit), but you'll need a Mac with XCode to build the wrapper library once.
If you decide to get a Mac for development, the cheapest route is probably a Mac Mini and a KVM switch that will let you use your existing keyboard, monitor, and mouse. It's cheaper to upgrade the Mac Mini's memory yourself than to buy a Mac Mini with more memory pre-installed. You can order Mac memory upgrades from online computer retailers cheaper than from the Apple store.
See also:
Marmalade Mobile App Development - Is Marmalade a Good Choice?
Is Marmalade SDK more relevant or commonly used for Game Development?
Native Android/iOS development vs Marmalade SDK
ADDENDUM
I forgot to mention that iOS already has native support for OpenGL ES, and that XCode can compile C++ code. It's also possible to mix Objective-C with C++. So you can keep your C++ engine more or less intact, and write wrappers around iOS-specific facilities, such as detecting user touches.
I don't think you can. I do believe you have to have a mac! If you don't want to buy one, I suggest to just borrow it from a friend!

Can I use C++ with Windows Phone 7?

I'm going to write an application for iOS, Mac OS X and Windows Phone 7.
To minimize the amount of work, I'd like to write the model only once, in C++ (otherwise I'd have to do it twice; in Objective-C and in C#).
Can I use C++ in a Windows Phone 7 application, together with C#?
No you cannot use C++ for WP7 apps. However you might be able to use Monotouch to write some shared code in C# between the 2 platforms.
Taken from here: Windows Mobile 7 and C++
All Windows Mobile 7 (now called Windows Phone 7 ) development, at
least initially, will be in managed code. Development using native
languages like C/C++ is not supported for third parties. You can
develop apps and games for Windows Phone 7 using the Silverlight or
XNA framework, and the initial release supports only C#, VB support is
supposed to be coming out soon.
It's from June 2010.