sdk-ios
1.注册友盟
2.打开Docs->doc.html帮助文档
3.拖入工程中 create groups 
4.把安卓平台相关删除 cocos2dx->Android、playform->Android、read….
5.添加下面的系统库
工程->Build Phases->Link Binary With Libraries +搜索添加 
 注:只需要搜索名字,不需要添加后缀名
Security.framework,libiconv.dylib,SystemConfiguration.framework,CoreGraphics.framework,libsqlite3.dylib,CoreTelephony.framework,libstdc++.dylib,libz.dylib,Social.framework,Accounts.framework。
6.头文件搜索问题 所以 设置搜索路径 Build Settings ->搜索框 搜索search
把Header Search Paths设置为根目录 $(PROJECT_DIR)/UMengSocialCocos2dx_5.0


继续添加库
following frameworks:
CoreData
CoreText
CoreGraphics
CoreTelephony
Foundation
QuartzCore
StoreKit
SystemConfiguration
UIKit
7.按需设置各个平台的URL Scheme
蓝色工程下的Info->URL Types
+   >winxin      wxdc1e388c3822c80b
    >alipayShare  ap2015111700822536
    >            QQ05FC5B14
    > sina.5211818556240bc9ee01db2f
    > wb3921700954
    >           tencent100424468
    > yx35664bdff4db42c2b7be1e29390c1a06


8.引入sdk头文件
#include "Cocos2dx/Common/CCUMSocialSDK.h"
#include "Cocos2dx/ShareButton/UMShareButton.h"
//使用友盟命名空间
USING_NS_UM_SOCIAL;
#define APPKEY "53290df956240b6b4a0084b3"


/*
 * 分享回调, 该回调不是某个类的成员函数, 而是一个普通的函数, 具体使用参考HelloWorldScene的例子
 * @param platform 要分享到的目标平台
 * @param stCode 返回码, 200代表分享成功, 100代表开始分享
 * @param errorMsg 分享失败时的错误信息,android平台没有错误信息
 */
void shareCallback(int platform, int stCode, string& errorMsg)
{
    if ( stCode == 100 )
    {
        CCLOG("#### HelloWorld Start Share!");
    }
    else if ( stCode == 200 )
    {
        CCLOG("#### HelloWorld Share Succeed!");
    }
    else
    {
        CCLOG("#### HelloWorld Share Error!");
    }
    
    CCLOG("platform num is : %d.", platform);
}




 // 创建分享按钮, 参数1为按钮正常情况下的图片, 参数2为按钮选中时的图片,参数3为友盟appkey, 参数4为分享回调
    UMShareButton *shareButton = UMShareButton::create("CloseNormal.png","CloseSelected.png", APPKEY, share_selector(shareCallback)) ;
    // 显示在友盟分享面板上的平台
    vector* platforms = new vector();
    platforms->push_back(SINA);
    platforms->push_back(RENREN) ;
    platforms->push_back(DOUBAN) ;
    platforms->push_back(QZONE) ;
    platforms->push_back(QQ) ;
    // 设置友盟分享面板上显示的平台
    shareButton->setPlatforms(platforms);
    // 设置文本分享内容
    shareButton->setShareContent("Hello youmeng!!.") ;
    // 设置要分享的图片, 图片支持本地图片和url图片, 但是url图片必须以http://或者https://开头
    shareButton->setShareImage("HelloWorld.png") ;
    auto winSize = Director::getInstance()->getWinSize();
    // 设置按钮的位置
    shareButton->setPosition(winSize/2.0f);
    // 然后开发者需要将该按钮添加到游戏场景中
    Menu* pMenu = Menu::create(shareButton, NULL);
    pMenu->setPosition(Vec2::ZERO);
    this->addChild(pMenu, 1);




方式二
//conrtol控件 头文件
#include "cocos-ext.h"
USING_NS_CC_EXT;
//创建按钮
ControlButton* createButton(const char* normal, const char* selected, const char* disable, Ref* target, Control::Handler handle, bool isZoomOnTouchDown = true);


ControlButton* createButton(const char* normal, const char* selected, const char* disable, Ref* target, Control::Handler handle, bool isZoomOnTouchDown)
{
    Scale9Sprite* sptNormal = Scale9Sprite::create(normal);
    //先判断再赋值
    Scale9Sprite* sptSelected = (selected == 0 ? 0 : Scale9Sprite::create(selected));
    Scale9Sprite* sptDisable = disable == 0 ? 0 : Scale9Sprite::create(disable);
    
    //关闭按钮
    extension::ControlButton* bt = ControlButton::create(sptNormal);
    //bt->setPreferredSize(sptNormal->getPreferredSize());
    bt->setBackgroundSpriteForState(sptNormal, Control::State::NORMAL);
    if (sptSelected)
        bt->setBackgroundSpriteForState(sptSelected, Control::State::HIGH_LIGHTED);
    if (sptDisable)
        bt->setBackgroundSpriteForState(sptDisable, Control::State::DISABLED);
    //触摸点击
    bt->addTargetWithActionForControlEvents(target, handle, Control::EventType::TOUCH_UP_INSIDE);
    bt->setZoomOnTouchDown(isZoomOnTouchDown);
    
    return bt;
}


  /*第二种方式*/
    //qq
    ControlButton* qq = createButton("res/freegold_share_qq.png", 0, 0, this, cccontrol_selector(HelloWorld::callBack));
    qq->setTag(shareStyle::qq);
    qq->setPosition(winSize.width/2,winSize.height-20);
    this->addChild(qq);
    //qqzone
    ControlButton* qzone = createButton("res/freegold_share_qzone.png", 0, 0, this, cccontrol_selector(HelloWorld::callBack));
    qzone->setTag(shareStyle::qzone);
    qzone->setPosition(winSize.width/2,winSize.height-80);
    this->addChild(qzone);
    //sina
    ControlButton* sina = createButton("res/freegold_share_sina.png", 0, 0, this, cccontrol_selector(HelloWorld::callBack));
    sina->setTag(shareStyle::sina);
    sina->setPosition(winSize.width/2,winSize.height-140);
    this->addChild(sina);
    //weixin
    ControlButton* weixin = createButton("res/freegold_share_weixin.png", 0, 0, this, cccontrol_selector(HelloWorld::callBack));
    weixin->setTag(shareStyle::weixin);
    weixin->setPosition(winSize.width/2,winSize.height-200);
    this->addChild(weixin);
    
    //weixinCircle
    ControlButton*weixinCircle = createButton("res/freegold_share_weixin_circle.png", 0, 0, this, cccontrol_selector(HelloWorld::callBack));
    weixinCircle->setTag(shareStyle::weixinCircle);
    weixinCircle->setPosition(winSize.width/2,winSize.height-260);
    this->addChild(weixinCircle);
//创建按钮时所需要的参数之一
void HelloWorld::callBack(Ref* ref,Control::EventType type){
    ControlButton* btn = dynamic_cast(ref);
    int tag = btn->getTag();
    //
    CCUMSocialSDK* sdk = CCUMSocialSDK::create(APPKEY);
    sdk->setTargetUrl("www.baidu.com");
    switch(tag){
        case shareStyle::qq:
            sdk->setQQAppIdAndAppKey("100424468", "c7394704798a158208a74ab60104f0ba");
            //授权 授权平台 授权函数
            sdk->authorize(QQ, auth_selector(authCallback));
            sdk->directShare(QQ, "hello", "HelloWorld.png", share_selector(shareCallback));
            break;
        case shareStyle::qzone:
            sdk->setQQAppIdAndAppKey("100424468", "c7394704798a158208a74ab60104f0ba");
            //授权 授权平台 授权函数
            sdk->authorize(QQ, auth_selector(authCallback));
            sdk->directShare(QZONE, "hello", "HelloWorld.png", share_selector(shareCallback));


            break;
            //新浪
        case shareStyle::sina:
            sdk->setSinaAppKey("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com/sina2/callback");
            sdk->directShare(SINA, "hello sina", "HelloWorld.png", share_selector(shareCallback));
            break;
        case shareStyle::weixin:
            sdk->setWeiXinAppInfo("wx485ab7ca6a7e02d1", "f9cad1d153aaa97925a2e2b5fa63d59f");
            sdk->directShare(WEIXIN, "hello weixin", "HelloWorld.png", share_selector(shareCallback));
            break;
        case shareStyle::weixinCircle:
            sdk->setWeiXinAppInfo("wx485ab7ca6a7e02d1", "f9cad1d153aaa97925a2e2b5fa63d59f");
            sdk->directShare(WEIXIN_CIRCLE, "hello weixin", "HelloWorld.png", share_selector(shareCallback));
            break;
        case shareStyle::weibo:
            break;
        default:
            break;
            
    }
}






 CocoaLigature1 

















更多相关文章

  1. android仿ios开关按钮
  2. uni-app之APP和小程序微信授权方法
  3. Android应用开发基础篇(1)-----Button
  4. Android(安卓)Design Support Library——Floating Action Butto
  5. android之MediaPlay播放视频
  6. fir.im Weekly - 如何在 iOS 上构建 TensorFlow 应用
  7. 弹出对话框--------android Toast 五种情形(无按钮)
  8. Flutter 新闻客户端 - 09 详情页展示、分享、远程真机调试
  9. 为Android应用程序添加社会化分享功能

随机推荐

  1. 在Android软按键中添加Menu键
  2. 最全的Android开源音乐播放器源码汇总
  3. 豆瓣开源许可-android
  4. Android(三):远程Service基本操作
  5. android开发新浪微博客户端 完整攻略 [新
  6. Android(安卓)Styles & Themes(上)——Styl
  7. Android Camera应用初探一
  8. Android开发之新建项目
  9. Android——天气预报(MVP、Gson和天气、百
  10. Android: 如何利用Handler、Thread更新视