joeisapro / monotouch.fabric Goto Github PK
View Code? Open in Web Editor NEWXamarin.iOS Unified binding for Fabric
Xamarin.iOS Unified binding for Fabric
Thanks for your plugin. As I see it is the only way to get tokens from system twitter account, Xamarin's social just doesnt return any credentials.
I've tried a lot to make it work, but 'session' is always null.
I've done all this stuff with Fabric Mac app, got api key, put it into info.plist.
I have logged-in twitter account on iPhone, Xamarin's social see it and allows me to send tweets.
No matter if I use logInButton or logInWithCompletion from singletone - session is null every time.
I have this code in AppDelegate:
var twitterKit = MonoTouch.Fabric.TwitterKit.Twitter.SharedInstance;
twitterKit.StartWithConsumerKey ("replace_with_your_consumer_key",
"replace_with_your_consumer_secret");
Fabric.With (new NSObject [] { twitterKit });
maybe I need to use some exact key and secret here? I've tried to put api_key and secret from Fabric but it isnt working too.
Can you please help me? What am I doing wrong?
Hi Joe,
Great work on the library. I think something is missing though. On the Fabric Advanced Setup page (https://docs.fabric.io/apple/twitter/advanced-setup.html) it says to notify TwitterKit of OpenUrl like so:
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
if Twitter.sharedInstance().application(app, openURL:url, options: options) {
return true
}
// If you handle other (non Twitter Kit) URLs elsewhere in your app, return true. Otherwise
return false
}
However, in the current binding I can find no reference to .Application in SharedInstance of Twitter. Any ideas?
Hi there,
I believe we have hit an issue with MonoTouch.Fabric.Crashlytics when it tries to capture an UnobservedTaskException
.
The following snippet is where the issue occurs, taken from the homepage:
TaskScheduler.UnobservedTaskException += (sender, e) =>
{
Setup.CaptureManagedInfo(e.Exception);
Setup.CaptureStackFrames(e.Exception);
Setup.ThrowExceptionAsNative(e.Exception);
};
When an UnobservedTaskException occurs, Setup.CaptureManagedInfo
is called, which results in the following error being logged on Crashlytics:
Fatal Exception: ArgumentNullException
0 ??? 0x0 Foundation.NSString..ctor(String) (NSString.cs)
1 ??? 0x0 MonoTouch.Fabric.Crashlytics.Setup.CaptureManagedInfo(System.Object) (Setup.cs)
2 ??? 0x0 MyApp.iOS.AppDelegate+<>c.<FinishedLaunching>b__13_2(System.Object, System.Threading.Tasks.UnobservedTaskExceptionEventArgs) (<>c.cs)
3 ??? 0x0 System.Threading.Tasks.TaskScheduler.PublishUnobservedTaskException(System.Object, System.Threading.Tasks.UnobservedTaskExceptionEventArgs) (TaskScheduler.cs)
4 ??? 0x0 System.Threading.Tasks.TaskExceptionHolder.Finalize() (TaskExceptionHolder.cs)
Looking at the source code of the CaptureManagedInfo
function, it constructs 3 NSString
objects from the exception details:
Crashlytics.SharedInstance.SetObjectValue(new NSString(ex.StackTrace), "unhandled exception stack trace");
Crashlytics.SharedInstance.SetObjectValue(new NSString(ex.Message), "unhandled exception message");
Crashlytics.SharedInstance.SetObjectValue(new NSString(ex.GetType().FullName), "unhandled exception");
It appears that the ex.StackTrace
might sometimes be null, which results in the real error details being masked by an exception being thrown by the CaptureManagedInfo
function.
Is it possible to add a null check and only set the "unhandled exception stack trace" data if there actually is a stack trace?
Hi! Can you show an example of integration Crashlytics in latest Xamarin Studio? I have already created an empty XCode project and made all steps of registration in Fabric. But now I can't understand how start Crashlyticks in AppDelegate.cs
Thank you in advance
I've set this library up with my app as described, and Crashlytics appears to be starting up. I triggered a crash, the Crashlytics website complained about missing a dSYM, I uploaded the missing dSYM, and I'm not seeing crashes show up. Also, I'm seeing these messages at app startup:
[Crashlytics:Crash] Warning: NSUncaughtExceptionHandler is '_ZL17exception_handlerP11NSException' in '/var/mobile/Containers/Bundle/Application/1B4EAC50-64E9-4D15-A2EC-EA1C3E2512F1/BiblePlusiOS.app/BiblePlusiOS'
[Crashlytics] The signal SIGABRT has a non-Crashlytics handler (sigabrt_signal_handler). This will interfer with reporting.
[Crashlytics] The signal SIGBUS has a non-Crashlytics handler (mono_sigsegv_signal_handler). This will interfer with reporting.
[Crashlytics] The signal SIGFPE has a non-Crashlytics handler (mono_sigfpe_signal_handler). This will interfer with reporting.
[Crashlytics] The signal SIGILL has a non-Crashlytics handler (mono_sigill_signal_handler). This will interfer with reporting.
[Crashlytics] The signal SIGSEGV has a non-Crashlytics handler (mono_sigsegv_signal_handler). This will interfer with reporting.
[Crashlytics] The signal SIGSYS has a non-Crashlytics handler ((null)). This will interfer with reporting.
[Crashlytics] The signal SIGTRAP has a non-Crashlytics handler ((null)). This will interfer with reporting.
Are these messages expected? If not and if they're a problem, how might I fix the issue?
Is there a timeframe around the availability of the add-in? I read all the referenced material but am still having a hard time uploading my dsyms. I don't mean to sound like I'm demanding sh*t here, I'm already happy just being able to use fabric with Xamarin. Thanks! G2k.
Hi there,
When an AggregateException or TargetInvocationException is thrown, the exception is logged as-is to Crashlytics. The real underlying cause of the exception, however, is lost because the inner exception(s) are not logged.
It would be very useful if AggregateExceptions and TargetInvocationExceptions are stripped away so that the real causes can be logged. For example, if an AggregateException occurs its InnerExceptions property should be examined and potentially multiple errors should be logged to Crashlytics. Note that the InnerExceptions might contain AggregateExceptions as well, so Flatten() would most likely need to be called on the AggregateException prior to this. Similarly for TargetInvocationException, its InnerException should be reported, if it is present.
Please let me know your thoughts on this?
I'm trying to use the library in a Xamarin.Forms project, however I'm using it having the following problem when generating for the device (for the emulator it works):
/Users/HomeroKzam/Projects/ProvaDeVida/iOS/MTOUCH: Error MT5214: Native linking failed, undefined symbol: _CLSLogv. This symbol was referenced by the managed member MonoTouch.Fabric.Crashlytics.Crashlytics.CLSLogv. Please verify that all the necessary frameworks have been referenced and native libraries linked. (MT5214) (ProvaDeVida.iOS)
And, do you intend to update the library?
Thanks,
Homero
Do you know how to solve the problem below?
Could not install package 'MonoTouch.Fabric 1.2.8.1'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile259', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
Thanks,
Homero
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.