您的位置:首页 > 移动开发 > IOS开发

SDK-IOS 关于SDK接入 MAC平台笔记

2017-10-31 21:14 483 查看
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<int>* platforms = new vector<int>();

    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<ControlButton*>(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->directSh
4000
are(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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sdk mac 友盟 cocos2d-x