Git Product home page Git Product logo

xamarincomponents's Introduction

Open Source Components for Xamarin

GitHub License

Open Source Components for Xamarin are a collection of open source components (including bindings and plugins) created by Xamarin and others in the community.

Status

Please note that this repository of bindings for third-party mobile libraries is considered unsupported and unmaintained. We have moved many of the most popular and essential bindings to other repositories where they will be supported: #1417.

Existing bindings published from this repository will continue to be available on NuGet, but will not receive fixes or updates to newer versions.

For details of bindings officially supported by Microsoft, see the Support page.

Building

Prerequisites

Before building the libraries and samples in this repository, you will need to install .NET Core and the Cake .NET Core Tool:

dotnet tool install -g cake.tool

When building on macOS, you may also need to install CocoaPods:

# Homebrew
brew install cocoapods

# Ruby Gems
gem install cocoapods

Compiling

You can either build all the libraries and samples in the repository from the root:

dotnet cake --name=<name-from-manifest>

Or, you can build each component separately:

cd <path-to-component>
dotnet cake

The name of each component can be found in the manifest.yaml. For example, to build the ARCore component, you can either start the build from the root:

dotnet cake --name=ARCore --target=nuget

Or, you can navigate to the folder and run it from there:

cd Android/ARCore
dotnet cake --target=nuget

The following targets can be specified using the --target=<target-name>:

  • libs builds the class library bindings (depends on externals)
  • externals downloads and builds the external dependencies
  • samples builds all of the samples (depends on libs)
  • nuget builds the nuget packages (depends on libs)
  • clean cleans up everything

Working in Visual Studio

Before the .sln files will compile in the IDEs, the external dependencies need to be downloaded. This can be done by running the externals target:

dotnet cake --target=externals

After the externals are downloaded and built, the .sln files should compile in your IDE.


Support & Getting Help

The following libraries are supported.

Name Description Source
AndroidX Libraries Bindings for Google's AndroidX Libraries GitHub
Google Play Services Client Libraries Bindings for Google's Play Services Client Libraries GitHub
Google API's for iOS Bindings for Google's API's for iOS Libraries GitHub
Facebook SDK's Bindings for Facebook's iOS & Android SDK's GitHub
Xamarin.Auth Cross-platform API for authenticating users and storing their accounts. GitHub

To get help, visit the Xamarin area of Microsoft Q&A.

Xamarin.Essentials

Xamarin.Essentials gives developers essential cross-platform APIs for their mobile applications. Xamarin.Essentials exposes over 60 native APIs in a single cross-platform package for developers to consume in their iOS, Android, UWP, or Xamarin.Forms application. Browse through the documentation on how to get started today.

The repository for Xamarin.Essentials can be found at https://github.com/xamarin/Essentials. If you have any suggestions or feature requests, or if you find any issues, please open a new issue.


xamarincomponents's People

Contributors

4brunu avatar bholmes avatar dalexsoto avatar davideme avatar iguins avatar jamesmontemagno avatar jfversluis avatar jonathanpeppers avatar jpobst avatar kamszyc avatar marstr avatar mattleibow avatar mjbond-msft avatar moljac avatar mpodwysocki avatar newky2k avatar olgaakv avatar patridge avatar paulpatarinski avatar prashantvc avatar rdelrosario avatar redth avatar rubo avatar softlion avatar sotoighost avatar suggyd avatar topgenorth avatar tranb3r avatar tuyen-vuduc avatar vicfergar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xamarincomponents's Issues

Cross platform video player

Can we get a cross-platform video player implementation? At the moment, I have no idea how to spin up native video players across the three platforms.

Xamarin dropbox api auth not working

Hello everyone!
I am desperate. Can not authenticate. Did everything from (here)[https://components.xamarin.com/view/dropboxcoreapiandroid]
Error:

Unhandled Exception:



Java.Lang.IllegalStateException: URI scheme in your app's manifest is not set up correctly. You should have a com.dropbox.client2.android.AuthActivity with the scheme: db-AppKey

my androidmanifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="BLEApp.BLEApp" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
  <activity
android:name="com.dropbox.client2.android.AuthActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboard">
    <intent-filter>
      <!-- Change this to be db- followed by your app key -->
      <data android:scheme="db-AppKey" />
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.BROWSABLE"/>
      <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
  </activity>
  
	<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="23" />
  
	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.INTERNET" />

	<application android:label="BLEApp"></application>



</manifest>

My Activity where I am running authentication:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;


using System.Net;
using System;
using System.IO;
using System.Threading.Tasks;
using System.Threading;
using Dropbox.CoreApi.Android;
using Java.Lang;
using Dropbox.CoreApi.Android.Session;

namespace BLEApp.Activities
{
    [Activity(Label = "Настройки")]
    public class SettingsActivity : Activity
    {
        string AppKey = "AppKey";
        string AppSecret = "AppSecret";
        DropboxApi dropboxApi;

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
           

            // Create your application here
        }

        private async void getList() {




    }
        protected  override void OnStart()
        {
            base.OnStart();

            AppKeyPair appKeys = new AppKeyPair(AppKey, AppSecret);
            AndroidAuthSession session = new AndroidAuthSession(appKeys);
            dropboxApi = new DropboxApi(session);
            (dropboxApi.Session as AndroidAuthSession).StartOAuth2Authentication(this);
        }

        protected  override void OnResume()
        {
            base.OnResume();

            // After you allowed to link the app with Dropbox,
            // you need to finish the Authentication process
            var session = dropboxApi.Session as AndroidAuthSession;
            if (!session.AuthenticationSuccessful())
                return;

            try
            {
                // Call this method to finish the authentication process
                // Will bind the user's access token to the session.
                session.FinishAuthentication();

                // Save the Access Token somewhere
                var accessToken = session.OAuth2AccessToken;
            }
            catch (IllegalStateException ex)
            {
                Toast.MakeText(this, ex.LocalizedMessage, ToastLength.Short).Show();
            }
        }


    }
}

And yes, AppKey is taken from dev of dropbox. Changed only here
How to fix?

Missing .jar files

When I try to build the GoogleVr binding library there are missing classes.jar files in every project. Where can I find these?

Or where can I download a nuget package for this?

Stuck at Card entry Page on iOS 10.3

As I navigate to the manual card entry page, the "cancel" and "done" buttons of the card entry screen don't work. I have used breakpoints in my code. Even the handlers aren't called on the button clicks.
After the card details are entered, the "done" button doesn't work and the cancel button crashes the application.
whatsapp image 2017-05-15 at 4 46 16 pm
whatsapp image 2017-05-15 at 4 46 17 pm

Xamarin.Forms Portable Solution is very slow

Hi,
making a "blank app Xamarin.Forms Portable" solution, will take a long time for a blank project to finish doing all the inner projects.

also, closing the solution and re-opening it, takes a long time.

lastly, the compiling of the blank project in debug/release takes a very long time.

Regards.

a naming issue which might cause some confusion

Please assign a more appropriate name for GetCellHeight in API definition which is somehow being set to correspond with heightForCellTopLabelAtIndexPath in iOS version JSQMessageViewController

Fix Cake Targets to ensure everything builds.

There are a few repositories that have defined a target like this:

var TARGET = Argument ("t", Argument ("target", "Default"));

Because some of these repositories do not have a Default task, this fails to build via the build the world-bootstrapper:

./build.ps1

Thus you'll get an error:

Error: The target 'Default' was not found.

VS bug #732180

Mapbox Samples don't work - Is this project active?

MapboxSampleAndroid wont even load. It hangs VS with indefinite "initializing" of the project.

MapboxSampleiOS will load, but wont build. Error "Pointers and fixed size buffers may only be used in an unsafe context". SO I marked several methods in Additions.cs with "unsafe" and I re-created the iOS project, and everything builds. BUT, when I deploy (to Simulator with iOS 10), I then get this error:

System.Exception: Could not create an native instance of the type 'Mapbox.MapView': the native class hasn't been loaded.

It is possible to ignore this condition by setting ObjCRuntime.Class.ThrowOnInitFailure to false.

MapView.cs ctor

My enviro:
VS 2015 Enterprise Update 3 installed with Xamarin 4.2.0.695. Running in VMware on Macbook, Xcode 8.0 (8A218a). Other iOS apps launch and run fine from VS (no issue with provisioning, etc).

As a side note, I am noting extremely sparse documentation for Mapbox (even on Mapbox end, not just Xamarin). I would like to know how important Mapbox is to the community - what other xplat map solution is there if not this? Will this be a key focus for Xamarin/MS? I would think maps on mobile is a common requirement for a lot of developers out there. It's a obviously an official first class citizen in the Xamarin Components here, but I'm shocked to see the current state of all this. I literally am dead in the water right now.

Xamarn.FireBase.JobDispatcher dependency on other libraries?

@topgenorth I am trying to get up and running with the JobDispatcher. I create a simple app to test but was getting a crash when the job kicked off until I added the Xamarin.Android.Support.v4 library. Adding that library forced me then to add Support.Compat, Support.Core.UI, ... Is there any reason why I need those other libraries in order to use the job dispatcher?

MapboxSDK.Android Manifest includes features and permissions it might not need to

The 'Getting Started' page for the Xamarin Mapbox SDK (https://components.xamarin.com/gettingstarted/mapboxsdk) implies that the 'Access Coarse Location' and 'Access Fine Location' are optional permissions.

I have used the SDK in an App which doesn't require showing the user's location on the map, so I haven't added those permissions to my own manifest. However, upon uploading it to the play store, it wants to add these as new permissions. After some investigation I tracked them down in the manifest for the SDK itself (https://github.com/xamarin/XamarinComponents/blob/301b121b06ee6267d5136d481d0788d3009c1054/XPlat/Mapbox/Android/source/MapboxSDK.Android/Additions/Manifest.cs).

Would it make sense to remove these, along with the Wifi hardware feature as they aren't explicitly required by apps which use the SDK? Thanks 👍

Please provide a License file

While I'm confident that we are okay to use this in our project, I worry that our lawyers may not be as excited. Could you please provide a license file or some other explicit note on the licensing of this module? I assume it is MIT like most of the rest of Xamarin.

Telephony

Heads up so others don't duplicate efforts, am currently working on this:

Telephony will be a xplat library that provides email, sms, voice and video
call functionality. Supports Xamarin.iOS, Xamarin.Android, Windows Phone 8/8.1
(Silverlight and WPA)

https://github.com/ghuntley/telephony

If anyone is keen to do api review on the Email class - specifically comments about attachments that would be appreciated.

Plugin for Cross-Platform downloading of files

Lately, I had a project where I needed to refactor the logic for downloading files in the background.

For that I created a plugin and decided to make it available to everyone - and also published a nuget package.

https://www.nuget.org/packages/Xam.Plugins.DownloadManager/

As of now, it only supports Android and iOS.

If you have time, please review the code and tell me what I have to do to get my plugin added to this list. The documentation may seems quite short, but feel free to ping me for any questions you have.

[Xamarin.Build.Download:0.4.2] [Urgent] Clean Visual studio 2017 FINAL installation -> Could not find 7zip.exe in Xamarin installation

If you try to use a clean installation of Visual studio 2017, on a JUST INSTALLED CLEAN system, Xamarin.Build.Download fails with message Could not find 7zip.exe in Xamarin installation from the method Get7ZipPath().

It is because on a clean system, Windows registry key for xamarin and visual studio 2017 FINAL are completely different, and so Get7ZipPath() method needs to be updated to find the new correct path that is

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Xamarin.VisualStudio\7-Zip\7z.exe

instead of reach the end of the method where

throw new Exception("Could not find 7zip.exe in Xamarin installation")

instruction is called.

EDIT:
This is my windows registry content in relevant key for this case:

Xamarin.reg.txt
VisualStudio.reg.txt

Floating Search View error when textview has focus

Hello friends,

I'm trying to make the demo to run on a Xamarin.Android project, however I got an error when I tap on the textview and it gets the focus.
Didn't find class "com.bartoszlipinski.viewpropertyobjectanimator.ViewPropertyObjectAnimator" on path: DexPathList[[zip file "/data/app/com.vh.vandroidfloatingsearchview-1/base.apk"],nativeLibraryDirectories=[/data/app/com.vh.vandroidfloatingsearchview-1/lib/x86_64, /system/fake-libs64, /data/app/com.vh.vandroidfloatingsearchview-1/base.apk!/lib/x86_64, /system/lib64, /vendor/lib64]]

Any idea what could the issue be?

Note: I'm using the same code found on this repository, however I compiled a new version of the original JAVA library and updated the Support versions to 25.1.1

Thanks in advance

The issues tab is not open

Hi,

  1. i was forced to use your project instead of:
    https://github.com/xamarin/Xamarin.Forms
    https://github.com/xamarin/xamarin-android

Because The issues tab is not open their, so please can you contact their admin to allow the issues tab.

  1. When adding/Deleting a resource in Xamarin.Forms "Droid, iOS" in the Droid\Resources\drawable and iOS\Resources, its a very slow operation, and if you are adding a lot of images like .png with 1 megabyte each, then you need to go to get a cub of cafe.

Regards.

Plugin icon template

Could it be possible to have an icon template and associated guidelines for it in order to have uniformized plugins icons ?

Many plugins from @jamesmontemagno have a blue background, and I've recreated the background template myself, but an official one could be great for everybody : with this a quick look into NuGet package explorer allows us to quickly identify all the plugins.

[Sugestion] Add better Bluetooth manager

It would be a nice plugin for Xamarin create a better cross-platform implementation for a Bluetooth manager, instead of creating, for example in Xamarin.Android a BluetoothAdapter, a BluetoothSocket, a BluetoothDevice, a Stream for outputs and another for inputs.

For our apps we know common data like MAC address or the name of the device, so the plugin can just search for that device, and we only going to concentrate for the inputs and outputs methods.

SDK Release Date

when will google vr sdk will be available on xamarin components store or Nuget?

Not installing under NuGet3

At least one package (Xam.Plugin.Connectivity) does not install under VS2015+NuGet3 due to the use of content files for the readme. I imagine other plugins are using the same technique.

Contacts

Replicate Xamarin.Mobile functionality of querying each platforms contacts with a simple cross-platform API.

Google VR update library and project samples about Android and IOs VideoWidgetView

Hello everyone. I am building for a company a cross platform application Xamarin environment and to be able to do what I was required to use GoogleVR component, especcialy the videowidget tool, for iOS and Android inside XPlat folder. My problem is reflected in outdated versions of Google VR libraries (the last was 0.8.0, now is 1.3.0) to use and therefore can not apply newer methods and also there is nothing about an explanation to import correctly the library for his metadata and transform reference. Someone managed to operate the native library binding through the reference solutions for the new library references with a sample code? If so I would be really grateful needing a proper tutorial.

VS bug #732190

iRate Component Crashes App (in Preview mode)

Simply install into an application and you will get a crash when the app launches on iOS 10.2 when you set:

iRate.Instance.PreviewMode = true;

Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[AppDelegate window]: unrecognized selector sent to instance 0x608000010710

I also assume that it will crash if it is in normal mode and wants to pop up a dialog. Assumption is dialog has been remove for whatever they are trying to open.

Publish Google VR packages

The Google VR components are not published on Nuget there is however a nuspec file. Would be nice if they could be submitted to Nuget

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.