5 ms·
Yes you have to compile with a mac to deploy to itunes connect. No it compiles C# AOT to arm assembly code.
by rhodysurf 9y ago
Yes you have to compile with a mac to deploy to itunes connect. No it compiles C# AOT to arm assembly code.
- bpicolo 9y agoAre there not online services for this? (Or is that outlawed?)
- cmelbye 9y agoYeah, these days it's easy to use an online service to submit to the App Store. Buddybuild (buddybuild.com) is really helpful for this. It acts as a CI system, and it can deploy builds to iTunes Connect with one click.
- capote 9y agoI came here to ask about submitting to the App Store. Does this mean that a Mac is, technically, no longer required for the entire process of development -> release of iOS apps?
- hbcondo714 9y agoThere is no mention of this process being able to upload an IPA file so I'm assuming we still need to use xCode or Application Loader on a Mac
- bpicolo 9y agoThey do say "the whole process" https://www.buddybuild.com/features/deployment/ https://www.buddybuild.com/features/deployment/ Also http://docs.buddybuild.com/docs/download-ipa http://docs.buddybuild.com/docs/download-ipa
- henriksen 9y agoYou'd probably want to performance test your app with a full MacOS compile, but the whole UI implementation, function and experience testing can be done without a Mac. And you need a Mac for deploying to the store.
- cmelbye 9y agoYes. Buddybuild can build IPA files and upload them directly to iTunes Connect.
- viktorbenei 9y agoBitrise can do that too, and has Xamarin support as well - https://www.bitrise.io/ https://www.bitrise.io/ (I'm the CTO there)
- Nelkins 9y agoI don't think you are correct. For a proper release, yes, the C#/F#/VB is AOT compiled. For this "Live Player" app, the IL in the DLLs is interpreted. Basing this off of this: "Microsoft believes its Live Player system is entirely compatible with Apple's rules and regulations for App Store apps. Behind the scenes, the Live Player includes an interpreter for .NET code. This means that running an app through Live Player is slower than it would be if natively built on a Mac, but that's not such a big deal for many aspects of user interface development." https://arstechnica.com/information-technology/2017/05/xamarin-live-player-almost-takes-the-mac-out-of-ios-development/ https://arstechnica.com/information-technology/2017/05/xamar...
- rhodysurf 9y agoLook here https://developer.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications/part_1_-_understanding_the_xamarin_mobile_platform/ https://developer.xamarin.com/guides/cross-platform/applicat... "iOS – C# is ahead-of-time (AOT) compiled to ARM assembly language. The .NET framework is included, with unused classes being stripped out during linking to reduce the application size. Apple does not allow runtime code generation on iOS, so some language features are not available"
- 0x0 9y agoBecause apple does not allow runtime code generation, then obviously the Live Player preview app won't be able to make use of any ARM assembly language binary produced by .NET. The only way this Live Player preview app stands a chance of being approved by apple is by interpreting everything. Mapping memory executable is impossible for "mere mortals" on iOS, only a few specially-blessed first party apps like MobileSafari can do that (to support JIT javascript). And the whole reason for using the Live Player as a conduit is to avoid the need for a native mac xcode toolchain to package a real .ipa app. The section you quoted is only applicable for native builds to .ipa (which you probably still need a mac for, since iOS requires the app to be code signed and provisioned even for debugging/development modes)
- rpeden 9y agoRight, that's how it works if you compile your app and then deploy it to the device. It's not how Xamarin Player works, though.