Giter VIP home page Giter VIP logo

tisocial.framework's Introduction

TiSocial.Framework Module

Description

The TiSocial.Framework Module extends the Appcelerator Titanium Mobile framework with the iOS6 social.framework. This enables sharing content to Facebook, Twitter and other platforms.

The module is licensed under the MIT license.

SLComposeViewController UIActivityViewController

Referencing the module in your Titanium Mobile application

Simply add the following lines to your tiapp.xml file:

<modules>
    <module platform="iphone">dk.napp.social</module> 
</modules>

Reference

For more detailed code examples take a look into the example app

Twitter

Social.isTwitterSupported()

Returns true or false.
false if no account has been defined (true in the 6.0 simulator) or the iOS Version doesn't support the Social Framework.

Social.twitter({Object} options)

options can have the following keys:

  • text - the status message
  • image - a local/remote path to an image you want to share
  • url - a url you want to share

Each of these options is optional

Social.twitterRequest({Object} options [, {Object} requestParameter])

optionshas the following keys:

  • requestType - can be GET, POST or DELETE
  • url - the url you want to request
  • callbackEvent - optional - default: twitterRequest - how is the event called that is fired after request has succeeded?
  • accountWithIdentifier - Identifier to select which account to request twitter with.

requestParameter is optional, but is build like this:

{
    'screen_name': 'CBeloch'
}

So screen_name is the parameter name / key and CBeloch is the value of the parameter

Social.twitterAccountList()

Returns a list of twiiter accounts. use the EventListener accountList to capture this list.

Social.addEventListener("accountList", function(e){
    Ti.API.info("Accounts:");
    accounts = e.accounts; //accounts
    Ti.API.info(accounts);
});
Social.twitterAccountList();

Facebook

Social.isFacebookSupported()

Returns true or false.
false if no account has been defined (true in the 6.0 simulator) or the iOS Version doesn't support the Social Framework.

Social.facebook({Object} options)

options can have the following keys:

  • text - the status message
  • image - a local/remote path to an image you want to share
  • url - a url you want to share

Each of these options is optional

Social.facebookRequest({Object} options [, {Object} requestParameter])

options has the following keys:

  • requestType - can be GET, POST or DELETE
  • url - the url you want to request
  • appIdKey - the appid of your facebook app
  • permissionsKey - optional - a comma seperated string that contains the required permissions
  • callbackEvent - optional - default: facebookRequest - how is the event called that is fired after request has succeeded?

requestParameter is optional, but is build like this:

{
    fields: 'id,name,devices'
}

So fields is the parameter name / key and id,name,devices is the value of the parameter

Social.grantFacebookPermissions

Before you can send request to the Facebook API, you start by getting the users permissions.

var fbAccount;
Social.grantFacebookPermissions({
    appIdKey:"YOUR_FB_APP_ID",
    permissionsKey: "email" //FB docs: https://developers.facebook.com/docs/reference/login/extended-permissions/
});
Social.addEventListener("facebookAccount", function(e){ 
    fbAccount = e.account; //now you have stored the FB account. You can then request facebook using the below method 
});

Social.requestFacebookWithIdentifier({Object} options [, {Object} requestParameter])

Request Facebook with a specific account.

Social.requestFacebookWithIdentifier({
    requestType:"GET",
    accountWithIdentifier: fbAccount["identifier"], //start by granting facebook permissions 
    url:"https://graph.facebook.com/me",
    callbackEvent: "facebookProfile",
}, {
    fields: 'id,name,location'
});

Social.renewFacebookAccessToken

The accessToken will eventually be invalid, if you store the FB acccount in a App property or storage of some kind. This method can renew the accessToken, and make you able to request Facebook again. This method rely on the same facebookAccount eventlistener, as grantFacebookPermissions.

Social.renewFacebookAccessToken();

Sina Weibo

Social.isSinaWeiboSupported()

Returns true or false.
false if no account has been defined (true in the 6.0 simulator) or the iOS Version doesn't support the Social Framework.

Social.sinaweibo({Object} options)

options can have the following keys:

  • text - the status message
  • image - a local/remote path to an image you want to share
  • url - a url you want to share

Each of these options is optional

UIActivityViewController

Constants

  • ACTIVITY_FACEBOOK: UIActivityTypePostToFacebook
  • ACTIVITY_TWITTER: UIActivityTypePostToTwitter
  • ACTIVITY_WEIBO: UIActivityTypePostToWeibo
  • ACTIVITY_MESSAGE: UIActivityTypeMessage
  • ACTIVITY_MAIL: UIActivityTypeMail
  • ACTIVITY_PRINT: UIActivityTypePrint
  • ACTIVITY_COPY: UIActivityTypeCopyToPasteboard
  • ACTIVITY_ASSIGN_CONTATCT: UIActivityTypeAssignToContact
  • ACTIVITY_SAVE_CAMERA: UIActivityTypeSaveToCameraRoll
  • ACTIVITY_READING_LIST: UIActivityTypeAddToReadingList
  • ACTIVITY_FLICKR: UIActivityTypePostToFlickr
  • ACTIVITY_VIMEO: UIActivityTypePostToVimeo
  • ACTIVITY_AIRDROP: UIActivityTypeAirDrop
  • ACTIVITY_TENCENT_WEIBO: UIActivityTypePostToTencentWeibo
  • ACTIVITY_CUSTOM: Custom Activities

Events

  • complete: Fired when the user completes using an Activity. Here, you can verify which activity the user has selected by checking the activity event property. When dealing with customActivities, you can get the activityName property.
  • cancelled: Fired when user did not complete the request.

Social.activityView()

The first required options argument can have the following keys:

  • text - the status message
  • htmlText - html message to use in the e-mail activity (requires emailIsHTML = true). If null will use the "text" message
  • url - a url you want to share
  • image - a local/remote path to an image you want to share
  • removeIcons - customise the dialog by removing unwanted icons.
  • emailIsHTML - Optional boolean flag that tells if email content should be in html format.
  • subject - a subject to be used when sharing through email

The second optional argument is an array with objects. Use this to create custom UIActivities. The posibilties are almost endless. have a look at: http://uiactivities.com for inspiration.

Social.activityView({
    text:"share like a king!",
    subject:"I would like to share this with you",
    image:"pin.png",
    removeIcons:"print,sms,copy,contact,camera,mail",
    emailIsHTML : false
},[
    {
        title:"Custom Share",
        type:"hello.world",
        image:"pin.png",
        callback: function(e) {
            alert("You chose me!");
        }
    },
    {
        title:"Open in Safari",
        type:"open.safari",
        image:"safari.png"
    }
]);

Social.activityPopover() (iPad only)

The first required options argument can have the following keys:

  • text - the status message
  • htmlText - html message to use in the e-mail activity (requires emailIsHTML = true). If null will use the "text" message
  • url - a url you want to share
  • image - a local/remote path to an image you want to share
  • removeIcons - customise the dialog by removing unwanted icons.
  • view - the source button
  • emailIsHTML - Optional boolean flag that tells if email content should be in html format.
  • subject - a subject to be used when sharing through email

The second optional argument is an array with objects. Use this to create custom UIActivities.

See Social.activityView().

Example of usage

FollowMe Button

example/follow_on_twitter.js contains an example on how to implement a "Follow Me" button. It takes an account the os version and for iOS 5 will try to open the profile page in another application that exits on the device.

Please check the Example section in the file.

Changelog

v.1.8.2

  • Support HTML text for email and plain text for other activities

v.1.8.1

  • Added support for iOS8 Popover (@adesugbaa)

v.1.8.0

  • Avoiding conflict with new Facebook module (#129)

v.1.7.10

  • Added missing URL option to iPad activity sheet
  • Added subject for email as mentioned in #112
  • Fixed a potential memory leak

v.1.7.9

  • Fixed issue with popover not showing on iPad

v1.7.8

  • Added support for 64-bit. Previous attempt was incorrect.

v1.7.7

  • Added support for email only html customization

v1.7.6

  • Added support for 64-bit

v1.7.5

  • Built with SDK 3.4.0, works on iOS 8. Changed project to use ARC, removed iOS 5 support (some deprecated stuff)

v1.7.4

  • Remove iOS8- specific build flags

v1.7.3

  • Bugfix for unsupported iOS6 sharing types

v1.7.2

  • Added url property for activityView to support Reading List
  • fixed image sharing

v1.7.1

  • Added new activities in iOS7: ACTIVITY_READING_LIST, ACTIVITY_FLICKR, ACTIVITY_VIMEO, ACTIVITY_AIRDROP & ACTIVITY_TENCENT_WEIBO
  • Added callback on custom activities

v1.7.0

  • Added support iOS7

v1.6.2

  • Added support to verify what activity was choiced by user in complete event
  • Create constants to each default activity
  • Documentation changes

v1.6.1

  • Added userId to twitterAccountList()
  • Bugfix for Twitter iOS5 error handling.

v1.6.0

  • Added custom UIActivity. You can create your own sharing option for activityView in seconds.
  • Added grantFacebookPermissions(), renewFacebookAccessToken() and requestFacebookWithIdentifier() for giving you a greater control of when to promt the enduser with permissions.
  • Added platform property to objects returned to eventListeners. Twiiter, Facebook and activityView.

v1.5.5

  • Added Facebook accessToken output on requestFacebook().
  • Added better error handling. error eventListener return the reason as a string in e.message.

v1.5.4

  • Added twitterAccountList() and accountWithIdentifier.

v1.5.3

  • Added UIActivityViewController popOver for iPad use: activityPopover().

v1.5.2

  • Added raw data callback response for requestTwitter().

v1.5.1

  • Bugfixes.
  • Added isRequestTwitterSupported() for iOS6 check.

v1.5

  • UIActivityViewController implemented.
  • Improved image filepath finder (bundle, data, remote, url)

v1.4

  • Support for iOS5 Twiiter Framework.

v1.3

  • Different parameter setup for requestFacebook() and requestTwitter().
  • Now supporting Wall posting and more request parameter.

v1.2

  • Added support to share image from downloaded remote images in cache or documents folders.
  • Added support to share image from image urls.

v1.1

  • SLRequest methods implemented. requestFacebook() and requestTwitter().

v1.0

  • Initial Implementation of SLComposeViewController.

Author

Mads Møller
web: http://www.napp.dk
email: [email protected]
twitter: @nappdev

Contributors

Christopher Beloch
twitter: @CBeloch

Jongeun Lee
twitter: @yomybaby

Daniel Tamas
twitter: @dan_tamas

Rafael Kellermann Streit
twitter: @rafaelks

Joseandro Luiz
twitter: @joseandroluiz

Carlos Zinato
twitter: @chmiiller

João Paulo
twitter: @juaumlol

License

Copyright (c) 2010-2013 Mads Møller

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

tisocial.framework's People

Contributors

adesugbaa avatar alperdincer avatar cbeloch avatar dezinezync avatar fokkezb avatar hanih avatar hansemannn avatar joseandro avatar jp-amis avatar ludolphus avatar martinhudson avatar nurlan-mammadli avatar ottopic avatar pedropalmero avatar pierregui avatar rborn avatar reydelamirienda avatar rlustemberg avatar timanrebel avatar ttaylor avatar viezel avatar yomybaby 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

tisocial.framework's Issues

activityPopover on tableViewRow?

Can I get activityPopover working on a row?

I have a sidebar navigation o iPad and want the activityPopover on a single row. Is that possible?

"Follow" on TW and "Like" on FB

Is it possible to perform the actions in subject using this module?
If yes could you please give me an example?
Thank you :)

Status Bar changes to Blue after Sharing

Love the Module, works wonderfully.

Though I have noticed (since my status bar is in black-opaque), that the Module changes it to blue after sending to Facebook.


Update: Sorry, that was odd... it stopped doing it.
Please close this issue. Thanks

Bug, new feature? Activity View in popover

According to Apple, UIActivityViewController must be displayed in a popover on iPad but modal display is required on every other kind of device. But with this module it's always modal.

How hard would it be to make the "right" behavior happen automatically? I think you'd have to pass in a reference to the button or view that calls on activityView() in order to tell a popover where to point. Unless there's a way to ask the TiModule/TiApp etc utilities who called it. I'm still fairly new to module programming though.

Also, how do I compile the code? Both Xcode and build.py failed with different error messages. Thanks!

How to add images?

Can I use remote images or imageViews?
Or do the images has to physically on the device?

Feature request: Blob images instead of paths

Instead (or in conjunction) blob images should be able to be appended into the image property. This is how the objC code handles it (or at least that how it was in iOS6)

Wish I could post the pull request :(

Is there a way to show Settings Alert as part of Post request if no account set?

http://stackoverflow.com/questions/13404519/how-to-display-ios-6-facebook-alert-view-without-first-showing-slcomposeviewcont#_=_

Can you guys do this as part of the module? Otherwise, here's what I do in my code:

Social.addEventListener("error", function(e){
Ti.API.info("error: "+e.status);
Ti.API.info(JSON.stringify(e));
if(e.status === "No account"){
var dialog = Ti.UI.createAlertDialog({
cancel: 1,
buttonNames: ['Settings', 'Cancel'],
message: 'There are no accounts configured. You can set configure in Settings?',
title: 'No Facebook Account'
});
dialog.addEventListener('click', function(e){
if (e.index === e.source.cancel){
Ti.API.info('The cancel button was clicked');
}
Ti.API.info('e.cancel: ' + e.cancel);
Ti.API.info('e.source.cancel: ' + e.source.cancel);
Ti.API.info('e.index: ' + e.index);
});
dialog.show();
}

});

Permission Dialog shows for every Post request

Social.requestFacebook({
requestType:"POST",
url:"https://graph.facebook.com/me/feed",
callbackEvent: "facebookPublish",
permissionsKey: "email, publish_stream",
appIdKey:Constants.KeyFacebookAppId
},{
message:args.message
});

Everytime I make a post to FB, it asks me to give the permission to app. It should happen only after the first post, and then it need to remember that I already gave permission. Is it a module bug or I am missing something?

Get ActivityName in "complete" event

Hello,

How can I get the name of Activity that user choice? I can't see any information like this in "complete" event listener. For example: how will I know if user choices Facebook or Twitter? It would be nice to Analytics. :-)

Thanks!

iOS5 simulator has Application Error with Twitter Request

With the example app.js using iPhone Simulator with iOS v5.1 (regardless if logged in to Twitter), click the request twitter button, it crashes with the error (Titanium SDK 3.0.0GA):

-[ACAccountStore requestAccessToAccountsWithType:options:completion:]:unrecognized selector sent to instance 0xa96c330

I added in:
if([TiUtils isIOS5OrGreater] && ![TiUtils isIOS6OrGreater]) return false;
inside the requestTwitter function to prevent it from happening just on that version but there must be a better way. It works fine with iOS6.

Activity view popover doesn't appear when assigned to a toolbar button

The new activityPopover() is good, but I found a problem. If assigned to a button placed in a toolbar (Titanium.UI.iOS.Toolbar) and that button is passed in as "view", then the popover never shows. It thinks it's appearing and gives no type conversion errors, but it's not really there.

Set the view arg instead to another button somewhere outside the toolbar, or to the toolbar itself, and now it does appear (but visually points at the other object). Pass in a null, and it properly complains. So I think the function is indeed being called.

I don't know why it does this. In Titanium a Button is still a kind of View. Unless adding it to a toolbar somehow changes its nature or reported location? I tried both Alloy markup and dynamically creating the toolbar and button in javascript in case it was a different kind of "button" behind the scenes. Same results either way.

The original modal activityView() still works from a toolbar button though.

Social.activityPopover with custom UIActivities?

Is this possible or an iPad limitation? I've implemented them for iPhone and for iPad, I can still use custom activities using the activityView, but the bottom buttons seem weird on the iPad.

Firing namespaced events

Can you throw namespaced event for facebook and twitter, so I can differentiate between them?

Social.addEventListener("error",function(e){
alert(e.platform);//would be good

or

Social.addEventListener("fb:error",function(e){

TiSocial with Twtter v1.1

Hey man,
I found your app.js integrating Titanium with the Codebird.js.
I read their Documentation and I can't find a way to Authenticate the current user using TiSocial Twitter method, I can only catch the screen_name of the current logged account.

Its really bad to open a Webview and ask the user to write down the PIN number to authorize the application

Run on apps with ios5

Hi,
I'm trying to use your module compiled with ios6 but when I try to put it on a device with ios5 the app crashes.

I tried to set this in module.xconfig but no joy

OTHER_LDFLAGS[sdk=iphoneos6*]=$(inherited) -framework Social
OTHER_LDFLAGS[sdk=iphonesimulator6*]=$(inherited) -framework Social

On simulator with ios6 works very nice, but when deployed to ios 5 is not.

here is the crash log

Sep 25 23:02:12 unknown UIKitApplication:info.rborn.playas[0xb7d5][4360] <Notice>: dyld: Library not loaded: /System/Library/Frameworks/Social.framework/Social
Sep 25 23:02:12 unknown UIKitApplication:info.rborn.playas[0xb7d5][4360] <Notice>:   Referenced from: /var/mobile/Applications/FDBCAB3D-068A-450E-B296-37AF4EC1DEAC/playas.app/playas
Sep 25 23:02:12 unknown UIKitApplication:info.rborn.playas[0xb7d5][4360] <Notice>:   Reason: image not found
Sep 25 23:02:12 unknown ReportCrash[4363] <Notice>: Formulating crash report for process playas[4360]

Any ideas?
Thank you :)

Unable to parse twitterResponse

I'm not finding a method that works. The simplest method I've tried is just:

 Social.addEventListener("twitterRequest", function(e){ //default callback
  Ti.API.info("twitterRequest: "+e.success);    
  Ti.API.info(e.response); //json

   var tweets = JSON.parse(e.response);
  });

The JSON is displayed in console, but it errors with "Unable to parse JSON string"

ActivityView with remote image taking time to show with bad connections

Hi

Don't know if this is really an issue or a simple limitation of the ActivityView.
I'm using this view to show some sharing options, no big deal. I'm linking a remote image url to it. Works fine with wifi connection, but when in 3G / Edge, looks like the ActivityView is not shown before that the remote image is completly loaded. So after the click on the button that must show the ActivityView, I've to wait a few seconds for the image to be loaded before the view appears. Not really user friendly.

Can we do something about this ?

Callbacks on customIcons don't fire

I can still use the customActivity event, but this doesn't give back the text and image properties set with activityPopover() or activityView().

requestFacebook returns "no account"

Hi!

if i want to run a query to facebook, i got this error: "no account". in simulator and on device too.

share function works correctly, my fb app is works too, bundle id checked twice.

twitter: works..

Twitter image problem

I can not render the image when I use twitter. I tried both with a remote image that with a local image, but the image is not never displayed.

Feature: URL

When creating the Activity Social.activityView(), along with setting the title and image, it would be nice to also have the URL property.

I would have done this but for some reason, the module won't build on my end (TiModule.h not found 😕 ) so opening a feature request.

Use Cases:

  • Sharing links across Social Networks
  • Opening the link in Safari / Chrome (custom item)

Slow performance

I have this code:

if(Social.isActivityViewSupported()){ //min iOS6 required
Social.activityView({
text:textoShare,
image:'urlShare,
removeIcons:"print,sms,copy,contact,camera,weibo"
//removeIcons:"print,sms,copy,contact,camera,mail"
});
} else {
//implement fallback sharing..
}

So, this code runs when click a button. It works but the activityView appear in 3 or 4 seconds, very slow for a production app.

Titanium 3.0.0. SDK
iOS 6.0.1

P.S:
And sometimes my app crashes... (if the user is tired to wait and close the app an reopen)
It´s happens on the example code too.

Some help about this?

Greetings, good job!

How to post to twitter?

Hi,

Thanks for the module. I got my fb post working.
Social.requestFacebook({
requestType:"POST",
url:"https://graph.facebook.com/me/feed",
callbackEvent: "facebookPublish",
permissionsKey: "email, publish_stream",
appIdKey:Constants.KeyFacebookAppId
},{
message:args.message
});

What would be the method call look like for twitter?

How to find out, if twitter/facebook accounts completed?

Can I retrieve the info, if twitter or facebook accounts are activated.

The info isFacebookSupported is only to know if iOS6 is installed, right?

On the device is no info, that twitter or facebook account isn't set, like on the simulator

"Don't Allow" Callback Event

If the user selects "Don't Allow" when requesting Facebook permissions, the "facebookAccount" event does not fire, nor does the "cancelled" event. There doesn't seem to be a way to catch if the users clicked "Don't Allow".

This may also apply to Twitter.

Issues on iOS 5

Hello, I know that rborn already fixed this issue by changing some lines on module.xconfig. but I want to know if you viezel or rbon can publish a compiled version of the module (I mean a dist file) with those changes to the module.xconfig.

I've tried to update the module.xconfig that is on the module folder without successes, my App is still crashing on IOS lower than 6 on iDevice, is working on iOS Simulator. So can you commit an already compiled version with the correct lines in the module.xconfig
Thank you so much
Roberto

SLRequest Features

Do you plan to implement SLRequest so we can query social networks for data?

Feature: Subject field

Hi. There does not seem to be a was to pass in subject for e.g. sharing via mail - field ignored for channels where irrelevant. I think it would make sense:

Social.activityView({
    text : String.format('%s - a great deal! [...]', offer),
    subject : 'The best deal?!',
});

Facebook request permission doesn't fire do anything

screen shot 2013-05-04 at 9 06 48 pm
Hi,

Trying to "Facebook connect' with the module, displays the alert message but never "does" something. I click the accept button but the app is never granted permission, nor I get an error.

Social.grantFacebookPermissions({
            appIdKey: 'app_id',
            permissionsKey: "publish_stream"
        });
Social.addEventListener("facebookAccount", function(e){ 
    Titanium.API.info(e.account);
});

I can't see the app with permissions on the Facebook settings on my iPhone nor on the Facebook website.

Am I missing something? Everything on Facebook is setup ok

Thanks!

[ERROR] Script Error = Couldn't find module: dk.napp.social.

Hi

I would really like to get this module working any ideas why i am always getting this error

[ERROR] Script Error = Couldn't find module: dk.napp.social.

The module is definitely installed as i can add it through the tiapp.xml file directly i added the dk.napp.social-iphone.zip to my titanium folder and let it build i am running 2.1.1.GA

Thanks

Bug: Events

I receive the following error when I select a custom activity item from the UIActivityViewController

Sep 13 12:48:30 MBP.local Zypher[16781] <Error>: CGContextSetFillColorWithColor: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context  and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

Also, when the callback is specified for a custom item, it's fired multiple times.

Possibility to specify callbackEvent on Social.grantFacebookPermissions

According to Facebook, you can't do something like this for the first request of the app (the very first time they are trying granting access to their account:

Social.grantFacebookPermissions({
    appIdKey: GLOBAL.facebookAppId,
    permissionsKey: "email, publish_stream" 
});

In order to "get around this" I want to ask the user for the email (which I don't want, I just want the publish_stream but since FB forces me to do a read request first) and after that success callback I want to call grantFacebookPermissions again but not actually publish something, I just want their permission to do so later on the app where that is more appropriate.

So, on the second permission I need to specify a callbackEvent otherwise I am going to enter into an endless loop.

thank you

ios5 denied access

Hi :)
I have an issue with ios5.
If the user denies the access of tha apps to twitter , the error event is not triggered.

Is there anything we can do ?

Thnx.

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.