Update README.md (#3587)
* Update README.md New README layout which includes sections to help direct visitors to the appropriate areas. Adds note about the license * Adds Gitter Button Back by popular demand! * Fixes Vote link
This commit is contained in:
Родитель
bfa4c548ed
Коммит
2a29834ba2
140
README.md
140
README.md
|
@ -9,136 +9,38 @@
|
|||
[1]: https://jenkins.mono-project.com/view/Xamarin.MaciOS/job/xamarin-macios-builds-master/badge/icon
|
||||
[2]: https://jenkins.mono-project.com/view/Xamarin.MaciOS/job/xamarin-macios-builds-master
|
||||
|
||||
**Welcome!**
|
||||
## Welcome!
|
||||
|
||||
This module is the main repository for both **Xamarin.iOS** and **Xamarin.Mac**.
|
||||
|
||||
These frameworks allow us to create native iOS, tvOS, watchOS and Mac applications using the same UI controls we would in Objective-C and Xcode, except with the flexibility and elegance of a modern language (C#), the power of the .NET Base Class Library (BCL), and two first-class IDEs—Xamarin Studio and Visual Studio—at our fingertips.
|
||||
These SDKs allow us to create native iOS, tvOS, watchOS and macOS applications using the same UI controls we would in Objective-C and Xcode, except with the flexibility and elegance of a modern language (C#), the power of the .NET Base Class Library (BCL), and two first-class IDEs—Visual Studio for Mac and Visual Studio—at our fingertips.
|
||||
|
||||
### Continuous Builds ###
|
||||
This repository is where we do development for the Xamarin.iOS and Xamarin.Mac SDKs. There are a few ways that you can contribute, for example:
|
||||
|
||||
You can download continuous builds of our main development branches from [our wiki page](https://github.com/xamarin/xamarin-macios/wiki#continuous-builds).
|
||||
- [Submit bugs and feature requests](https://github.com/xamarin/xamarin-macios/wiki/Submitting-Bugs-&-Suggestions)
|
||||
- [Review source code changes](https://github.com/xamarin/xamarin-macios/pulls)
|
||||
- [Submit pull requests](https://github.com/xamarin/xamarin-macios/wiki/How-to-Contribute#pull-requests) to resolve issues and fix bugs
|
||||
|
||||
## Build requirements ##
|
||||
## Contributing
|
||||
|
||||
* Autoconf, automake and libtool.
|
||||
If you are interested in fixing issues and contributing directly to the code base, please see the document [How to Contribute](https://github.com/xamarin/xamarin-macios/wiki/How-to-Contribute), which covers the following:
|
||||
|
||||
You can use brew, or [this script](https://gist.github.com/rolfbjarne/3a979187ddd0855da073) to get
|
||||
it directly from gnu.org (you'll have to edit your PATH to include /opt/bin if you use the script)
|
||||
- How to [build and run](https://github.com/xamarin/xamarin-macios/wiki/Build-&-Run) from source
|
||||
- The [development workflow](https://github.com/xamarin/xamarin-macios/wiki/How-to-Contribute#work-branches), including [debugging](https://github.com/xamarin/xamarin-macios/wiki/Build-&-Run#debugging-applications-from-source) and [running tests](https://github.com/xamarin/xamarin-macios/blob/master/tests/README.md)
|
||||
- [Coding Guidelines](https://github.com/xamarin/xamarin-macios/wiki/How-to-Contribute#coding-guidelines)
|
||||
- [Submitting pull requests](https://github.com/xamarin/xamarin-macios/wiki/How-to-Contribute#pull-requests)
|
||||
|
||||
To install brew and all the tool dependencies:
|
||||
## Feedback
|
||||
|
||||
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
$ brew update
|
||||
$ brew install libtool autoconf automake bison flex
|
||||
- Ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/xamarin.ios) or the [Xamarin Forums](https://forums.xamarin.com/)
|
||||
- [Request a new feature](https://github.com/xamarin/xamarin-macios/wiki/Submitting-Bugs-&-Suggestions#writing-good-bug-reports-and-feature-requests) on GitHub
|
||||
- [Vote on existing feature requests](https://github.com/xamarin/xamarin-macios/wiki/Submitting-Bugs-&-Suggestions#before-submitting-an-issue)
|
||||
- [Submit bugs to GitHub Issues](https://github.com/xamarin/xamarin-macios/wiki/Submitting-Bugs-&-Suggestions)
|
||||
- Discuss development and design on [Gitter](https://gitter.im/xamarin/xamarin-macios) or email [macios-devel@lists.xamarin.com](http://lists.xamarin.com/mailman/listinfo/macios-devel)
|
||||
|
||||
* CMake
|
||||
|
||||
You can use brew, or download manually from [cmake.org](https://cmake.org/download/).
|
||||
|
||||
CMake must be in PATH, so if you install it somewhere else, you'll have to
|
||||
fix up your PATH accordingly (not necessary if installed using brew).
|
||||
|
||||
To install using brew:
|
||||
|
||||
$ brew install cmake
|
||||
|
||||
* Xcode
|
||||
|
||||
To build the Xamarin.iOS and Xamarin.Mac SDKs you need a certain version of Xcode.
|
||||
The build will tell you exactly which version you need.
|
||||
|
||||
You can download the Xcode version you need from [Apple's Developer Center](https://developer.apple.com/downloads/index.action?name=Xcode)
|
||||
(requires an Apple Developer account).
|
||||
|
||||
To ease development with different versions of the SDK that require different versions
|
||||
of Xcode, we require Xcode to be in a non-standard location (based on the Xcode version).
|
||||
|
||||
For example Xcode 7.0 must be installed in /Applications/Xcode7.app.
|
||||
|
||||
The recommended procedure is to download the corresponding Xcode dmg from Apple's
|
||||
Developer Center, extract Xcode.app to your system, _and rename it before
|
||||
launching it the first time_. Renaming Xcode.app after having launched it
|
||||
once may confuse Xcode, and strange errors start occuring.
|
||||
|
||||
* Mono MDK.
|
||||
|
||||
The build will tell you if you need to update, and where to get it.
|
||||
|
||||
* Xamarin Studio.
|
||||
|
||||
The build will tell you if you need to update, and where to get it.
|
||||
|
||||
* You can also provision some of the dependencies with an included script:
|
||||
|
||||
$ ./system-dependencies.sh --provision-[xcode|xamarin-studio|mono|all]
|
||||
|
||||
## Quick build & install ##
|
||||
|
||||
Follow the following steps to build and install Xamarin.iOS and Xamarin.Mac:
|
||||
|
||||
1. Clone this repository and its submodules
|
||||
|
||||
$ git clone --recursive git@github.com:xamarin/xamarin-macios.git
|
||||
$ cd xamarin-macios
|
||||
|
||||
2. Fetch dependencies and build everything
|
||||
|
||||
$ make world
|
||||
|
||||
3. Make sure permissions are OK to install into system directories (this will ask for your password)
|
||||
|
||||
$ make fix-install-permissions
|
||||
|
||||
4. Install into the system
|
||||
|
||||
$ make install-system
|
||||
|
||||
5. Build again after any local changes
|
||||
|
||||
Don't use `make world` again to rebuild, because it resets dependencies
|
||||
and causes unnecessary rebuilds. Instead use the standard `make all install`
|
||||
(our Makefiles are parallel safe, which greatly speeds up the build):
|
||||
|
||||
$ make all -j8 && make install -j8
|
||||
|
||||
## Configure ##
|
||||
|
||||
There is a configure script that can optionally be used to configure the build.
|
||||
By default, everything required for both Xamarin.iOS and Xamarin.Mac will be built.
|
||||
|
||||
* --disable-mac: Disable Mac-related parts.
|
||||
* --disable-ios: Disable iOS-related parts.
|
||||
|
||||
In both cases the resulting build will contain both iOS and Mac bits because:
|
||||
|
||||
* Parts of the iOS build depends on Mac parts (in particular mtouch uses
|
||||
Xamarin.Mac).
|
||||
|
||||
* The class libraries builds can not be disabled because a very common error
|
||||
is to end up with code that only works/builds in either iOS or Mac.
|
||||
|
||||
* --enable-ccache: Enables cached builds with `ccache` (default if `ccache` is found in the path).
|
||||
* --disable-ccache: Disables cached builds with `ccache`, even if it is present.
|
||||
* --disable-strip: If executables should be stripped or not. This makes it easier
|
||||
to debug native executables using lldb.
|
||||
* --help: Show the help.
|
||||
|
||||
## Contributing ##
|
||||
|
||||
### Mailing Lists
|
||||
|
||||
To discuss this project, and participate in the design, we use the [macios-devel@lists.xamarin.com](http://lists.xamarin.com/mailman/listinfo/macios-devel) mailing list.
|
||||
|
||||
### Chat
|
||||
|
||||
There is also a gitter chat room that can be used to discuss this project, and participate in the design:
|
||||
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/xamarin/xamarin-macios?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
### Coding Guidelines
|
||||
## License
|
||||
|
||||
We use [Mono's Coding Guidelines](http://www.mono-project.com/community/contributing/coding-guidelines/).
|
||||
|
||||
### Reporting Bugs
|
||||
|
||||
We use [Bugzilla](https://bugzilla.xamarin.com/newbug) to track issues.
|
||||
Copyright (c) .NET Foundation Contributors. All rights reserved.
|
||||
Licensed under the [MIT](https://github.com/xamarin/xamarin-macios/blob/master/LICENSE) License.
|
||||
|
|
Загрузка…
Ссылка в новой задаче