iOS 平台项目接入新浪微博 SDK 的坑

iOS 平台 Cocos2d-x 项目 接入第三方SDK 的坑(就是静态库接入的问题) 解决方法是: -force_load path/to/your/libWeiboSDK.a 而不是 他提供的-ObjC、-all_load,下面是一些详细说明 我的开发环境 Mac OS X 10.10.1Xcode 6.1.1 (6A2008a)Cocos2d-x 3.2新浪微博 SDK for iOS 2015 年 1 月 5 日从 github clone 的版本 遇 阅读详情

最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了。发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理解,我来深入的写一写。

我的开发环境

  • Mac OS X 10.10.1

  • Xcode 6.1.1 (6A2008a)

  • Cocos2d-x 3.2

  • 新浪微博 SDK for iOS 2015 年 1 月 5 日从 github clone 的版本

遇到的问题

根据新浪微博 SDK 附带的文档接入项目后,在模拟器运行项目,在调用注册方法时发生崩溃。注册方法代码:

1
[WeiboSDK registerApp: @"xxxxxxxx"];

崩溃信息打印如下:

1
[__NSDictionaryM weibosdk_WBSDKJSONString] : unrecognized selector sent to instance 0x170255780

解决问题遇到的阻碍

新浪微博 SDK 附带的文档中有这么一个说明:

在工程中引入静态库之后,需要在编译时添加   –ObjC   编译选项,避免静态库中类 加载   不全造成程序崩溃。方法:程序   Target->Buid   Settings->Linking   下   Other   Linker  Flags   项添加-ObjC

在网上看到遇到同样崩溃错误的人有提到在编译时添加 -all_load 编译选项时也可以解决问题。方法也是在   Target->Buid   Settings->Linking   下   Other   Linker  Flags   项添加-all_load。

无独有偶,我在打开新浪微博 SDK 附带的 Demo 项目时发现这个项目的编译选项也是-all_load而不是它自己文档所提示的-ObjC。而且在同样的开发环境下,我的 cocos2d-x 项目会崩溃,但是新浪微博 SDK 附带的 Demo 可以正常工作,想必上述两个解决方案应该是正解

但是在给自己的 cocos2d-x 项目添加了编译选项后,再次编译运行就发生了错误,错误信息如下:

1
2
3
4
5
6
7
8
Undefined symbols for architecture i386:
  "_GCControllerDidConnectNotification", referenced from:
      -[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)
  "_GCControllerDidDisconnectNotification", referenced from:
      -[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)
  "_OBJC_CLASS_$_GCController", referenced from:
      objc-class-ref in libcocos2dx iOS.a(CCController-iOS.o)
     (maybe you meant: _OBJC_CLASS_$_GCControllerConnectionEventHandler)

无论是设置成-ObjC还是-all_load编译都会失败,都会报上述找不到符号的链接错误。

正确的解决办法

这里先给出正确的解决办法再谈谈为什么要这么做。正确的做法还是设置 Other Linker Flags 这个编译选项,只不过即不用用-ObjC也不能用-all_load,而是要用-force_load path/to/your/libWeiboSDK.a,后面跟的是新浪微博 SDK 静态链接库的确切位置。

这一切是为什么?

从编译链接说起

这里不打算过多的介绍编译链接相关的只是,但是强烈推荐一本书《程序员的自我修养》,光看正标题你可能会担心这是本没什么“正经”内容的书,至少我当初第一次看到这书名的时候就是这么认为的,但是我错了,这本书的副标题是链接、装载与库。相信我,看过这本书 N 遍之后你自会对程序从源代码编译链接到生成二进制程序的原理和过程有一个非常透彻的理解,并且更重要的是看过这本书 N 遍之后你会上升几个层次。

言归正传,一个工程的源代码最终变成二进制的可执行程序、动态链接库或静态链接库要经历这么几个过程:

1
源代码 ==[编译器]==》 汇编码 ==[汇编器]==》 对象文件 ==[链接器]==》 可执行程序、动态链接库或静态链接库

再说说符号是什么?

通俗的讲,我们在源码中写的全局变量名、函数名或类名在生成的*.o对象文件中都叫做符号,存在一个叫做符号表的地方。

举个例子:我们在a.c文件中写了一个函数叫foo(),然后在main.c文件中调用了foo()函数,在将源码编译生成的对象文件中a.o对象文件中的符号表里保存着foo()函数符号,并通过该符号可以定位到a.o文件中关于foo()方法的具体实现代码。

链接器在链接生成最终的二进制程序的时候会发现main.o对象文件中引用了符号foo(),而foo()符号并没有在main.o文件中定义,所以不会存在与main.o对象文件的符号表中,于是链接器就开始检查其他对象文件,当检查到a.o文件中定义了符号foo(),于是就将a.o对象文件链接进来。这样就确保了在main.c中能够正常调用a.c中实现的foo()方法了。

libWeiboSDK.a 静态链接库里有什么?

Unix 的静态链接库没什么神秘的,它就是个压缩包,和平时比较常见的 zip 或 rar 之类的压缩包一样,只不过人家是用一个叫 ar 的压缩工具压缩的而已。所以我们给它解压缩一下,看看它里面都有什么。既然是用 ar 压缩的,解压自然也要用 ar 这个工具。在命令行执行:

1
ar -x lieWeiboSDK.a

结果报错了:

1
2
ar: libWeiboSDK.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: libWeiboSDK.a: Inappropriate file type or format

这里先解释一下它为什么这么肥(fat)。在做 iOS 开发时我们都知道可以用模拟器和真机来测试我们的项目,但是这两个平台的架构是不一样的,模拟器是 i386 x86_64 架构的,而我们的设备是 armv7 arm64 架构的。当在制作静态链接库的时候也要针对不同的架构制作出针对真机和模拟器的两个静态链接库,而当我们想在自己的项目中使用静态链接库的时候,如果在模拟器上运行我们要用针对模拟器的静态库版本,用真机设备测试的时候还要切换到针对真机的静态链接库,这样一来非常的麻烦。

前面说过了静态链接库就是个压缩包,那么我们是否能将这两个静态链接库压缩成一个静态链接库这样就可以同时支持模拟器和真机设备两种架构了呢?答案是肯定的。比如我们手头有一个静态链接库的两个架构版本:libXXX.i386_x86_64.a和libXXX.armv7_arm64.a,那么我们可以通过如下命令来生成一个统一的静态链接库:

1
lipo -create libXXX.i386_x86_64.a libXXX.armv7_arm64.a -output libXXX.a

这样我们就得到了一个统一版本的静态库libXXX.a,它的好处是同时支持模拟器架构和真机设备架构,缺点是它的体积变大了,也就是说它很肥(fat)。

而libWeiboSDK.a就是这么一个合体后的静态库,我们照样可以通过命令来验证这一点:

1
lipo -info libWeiboSDK.a

这个命令会输出:

1
Architectures in the fat file: libWeiboSDK.a are: armv7 arm64 i386 x86_64

既然是个胖子,那我们就要先给它瘦身才能解压。我们随便从里面抽出一个架构的静态链接库来,瘦身命令是:

1
lipo -thin i386 libWeiboSDK.a -output libWeiboSDK.i386.a

这样我们就把针对 i386 平台的新浪微博 SDK 静态链接库给抽离出来了,我们管它叫libWeiboSDK.i386.a,现在我们再用ar命令解压它看看里面有什么

1
ar -x libWeibo.i386.a

解压完成后你会看到好多好多以.o结尾的对象文件,回忆回忆刚刚我们讲到的编译链接过程,这些对象文件就是给链接器最终生成静态链接库时用到的文件,由于太多了,我只列出我们要讲到的几个:

1
2
3
4
5
6
7
8
9
-rw-r--r--  1 leenjewel  staff    13K Jan  8 15:47 NSData+WBSDKBase64.o
-rw-r--r--  1 leenjewel  staff    42K Jan  8 15:47 UIImage+WBSDKResize.o
-rw-r--r--  1 leenjewel  staff    12K Jan  8 15:47 UIImage+WBSDKStretch.o
-rw-r--r--  1 leenjewel  staff    74K Jan  8 15:47 UIView+WBSDKSizes.o
-rw-r--r--  1 leenjewel  staff    58K Jan  8 15:47 WBAidManager.o
-rw-r--r--  1 leenjewel  staff    15K Jan  8 15:47 WBAuthorizeRequest.o
-rw-r--r--  1 leenjewel  staff    16K Jan  8 15:47 WBAuthorizeResponse.o
-rw-r--r--  1 leenjewel  staff    19K Jan  8 15:47 WBBaseMediaObject.o
-rw-r--r--  1 leenjewel  staff   265K Jan  8 15:47 WBSDKJSONKit.o

为什么会在运行中崩溃?

当我们把新浪微博 SDK 的静态链接库引入我们自己的项目,并 Build 我们自己的项目到模拟器或真机设备上运行的过程其实也是一个编译链接的过程,最终从项目 Build 生成可以在模拟器或真机设备运行的 App,而这个过程中对新浪微博 SDK 的静态链接库的处理方式和我们刚刚拆开libWeiboSDK.a的过程差不多:

  • 将 libWeibSDK.a 根据当前所构建的平台架构(模拟器还是真机设备)进行瘦身

  • 将瘦身的静态库解压拆包

  • 将用到的对象文件链接进入项目

而我们遇到的崩溃问题恰恰是出在了将用到的对象文件链接进入项目这一步。

苹果的开发者网站针对这个问题有一篇说明文章,我们来引用一下里面的内容:

The dynamic nature of Objective-C complicates things slightly. Because the code that implements a method is not determined until the method is actually called,

这句话解释起来就是说 Objective-C 是有运行时(runtime)的,一个方法要执行什么代码是在运行时决定的,而不是在链接时决定的。想要再深入了解 Objective-C 运行时知识的,可以看看这里

Objective-C does not define linker symbols for methods. Linker symbols are only defined for classes.

因为在 Objective-C 中,一个方法的执行是要到运行时才决定的,所以在链接时,链接器只链接类的符号,并不会链接方法的符号。

For example, if main.m includes the code [[FooClass alloc] initWithBar:nil]; then main.o will contain an undefined symbol for FooClass, but no linker symbols for the -initWithBar: method will be in main.o

最后还举了一个例子:当你在main.m文件中初始化一个类FooClass的对象,然后调用了这个类FooClass的一个对象方法initWithBar,在链接器分析由main.m编译生成的main.o对象文件时,发现这个对象文件没有定义符号FooClass于是就会去其他.o对象文件中去寻找FooClass符号的定义,而至于方法符号initWithBar的定义在哪里链接器是不关心的,因为initWithBar的执行是由运行时负责的,链接器不管。

好了,现在问题来了,我们再重复一下这句话:

1
Objective-C 中方法的执行实在运行时决定的,所以链接器只链接类的符号,不链接方法的符号

我们再回过头看看崩溃的报错信息:

1
[__NSDictionaryM weibosdk_WBSDKJSONString] : unrecognized selector sent to instance 0x170255780

这说明崩溃的原因是在运行时调用__NSDictionaryM类对象的weibosdk_WBSDKJSONString方法时没有找到该方法的定义。这里不难看出__NSDictionaryM是Foundation Framework中的类,而方法weibosdk_WBSDKJSONString是新浪微博 SDK 自己定义的方法,新浪在这里使用了分类技术扩展了__NSDictionaryM类的行为。我们来验证这一点:

我们已经解压出libWeiboSDK.a中的全部.o对象文件,我们用nm命令导出全部对象文件中的符号:

1
nm *.o >> libWeiboSDK.symbols.txt

然后我们用个文本编辑器打开libWeiboSDK.symbols.txt查找weibosdk_WBSDKJSONString,我们可以查到如下结果:

1
2
3
4
WBSDKJSONKit.o:
00007ba0 t -[NSArray(WBSDKJSONKitSerializing) weibosdk_WBSDKJSONString]
00007de8 t -[NSDictionary(WBSDKJSONKitSerializing) weibosdk_WBSDKJSONString]
000079cd t -[NSString(WBSDKJSONKitSerializing) weibosdk_WBSDKJSONString]

这就可以说明新浪微博 SDK 确实使用了分类技术扩展了NSArray、NSDictionary和NSString三个 Foundation Framework 下面的类的行为。好,现在可以真相大白了:

  • 在链接时,链接器发现WBSDKJSONKit.o对象文件中缺少类符号NSArray、NSDictionary和NSString。

  • 链接器从Foundation Framework中找到了类的符号定义,从而将Foundation Framework中相关的对象文件链接进来

  • 由于链接器不链接方法符号,所以weibosdk_WBSDKJSONString这样的方法符号完全被忽略了。

  • 由于类符号的定义在Foundation Farmework中定义,所以WBSDKJSONKit.o对象文件中没有符号被引用,链接器就没有把这个对象文件链接进来。

  • 运行时运行到weibosdk_WBSDKJSONString方法时,由于Foundation Framework中是不存在这个方法的定义的,而存在这个方法定义的WBSDKJSONKit.o对象文件又没有被链接器链接进来,所以崩溃了。

为什么增加编译选项可以解决问题?

我们继续引用苹果的开发者网站针对这个问题的说明文章中的内容:

Passing the -ObjC option to the linker causes it to load all members of static libraries that implement any Objective-C class or category. This will pickup any category method implementations. But it can make the resulting executable larger, and may pickup unnecessary objects. For this reason it is not on by default.

加了-ObjC选项后,不管是否被引用到,链接器会把 Objective-C 的类和分类的所有对象文件全部链接,全部链接后方法符号全部被链接进来,崩溃的问题自然被解决了。

而-all_load选项更彻底,这个选项会让链接器把全部的对象文件都链接进来,当然,代价就是构建的 APP 体积会变大。

为什么 cocos2d-x 加了编译选项会无法编译通过?

其实准确的说法是编译可以成功进行,链接器执行报错。我们再回顾一下加了-ObjC或-all_load链接选项后链接器的报错信息:

1
2
3
4
5
6
7
8
Undefined symbols for architecture i386:
  "_GCControllerDidConnectNotification", referenced from:
      -[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)
  "_GCControllerDidDisconnectNotification", referenced from:
      -[GCControllerConnectionEventHandler observerConnection:disconnection:] in libcocos2dx iOS.a(CCController-iOS.o)
  "_OBJC_CLASS_$_GCController", referenced from:
      objc-class-ref in libcocos2dx iOS.a(CCController-iOS.o)
     (maybe you meant: _OBJC_CLASS_$_GCControllerConnectionEventHandler)

根据报错信息我们能够了解到报错是一个名叫CCController-iOS.o对象文件导致的,而这个文件对应的源代码是CCController-iOS.mm,通过阅读源码我们发现,这个文件中定义了一个 Objective-C 的类GCControllerConnectionEventHandler,这个类中的方法引用了GCControllerDidConnectNotification和GCControllerDidDisconnectNotification两个类,而这两个类实在GameController Framework中定义的。

而 cocos2d-x 生成的项目默认并没有为我们引入GameController Framework,所以在链接时由于链接器找不到对应类的符号定义,所以才会报错。如果你到 Xcode->Target->Buid Phases-> 下   Link Binary With Libraries   项添加GameController Framework就可以解决问题了,但是这种解决方式很不干净

正确的姿势

-force_load path/to/your/libWeiboSDK.a链接选项其实是干了和-ObjC、-all_load一样的事情,只不过它更有针对性,它只让链接器把你指定的静态链接库中的全部对象文件链接进来,这样更清爽一些。

希望我的解释已经够深入了。

:–)

音乐播放器与新浪微博整合项目源码 本文还有配套的精品资源,点击获取 简介:本项目结合了音乐播放和社交分享两大功能,是一款可能基于Android平台的音乐播放器应用。应用集成了微博的Android SDK,允许用户在听音乐的同时与微博平台互动。项目文件包括音乐播放器核心功能的实现、社交媒体分享功能的代码以及应用界面设计截图。开发者需要关注的关键技术要点有用户界面设计、音频处理、数据存储、网络通信以及性能优化。... 阅读详情

相关推荐

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4376

使用shareSDK时可能遇到的问题

shareSDK分享流程总结,和其中一小部分错误,有需要的可以查看,也希望大牛不吝赐教,欢迎大家一起来交流指正。。

zhaochunyang_0726 1万+

自制非接触式静电探测仪:从振动电容原理到微弱信号检测实践

微弱信号检测是电子测量领域的核心挑战之一,尤其在需要避免物理接触或防止干扰的场景中。其基本原理在于将难以直接获取的微小物理量(如电流、电压)通过传感器转换为电信号,再经过放大、滤波等处理进行提取。锁相放大技术是解决这一问题的关键手段,它利用参考信号与目标信号的同步性,从强噪声背景中恢复出有效信息,极大提升了信噪比和测量灵敏度。这项技术的工程价值在于实现了对纳安级电流、微伏级电压等高难度参数的可靠测量。在静电防护、材料表面电位分析、生物电信号采集等应用场景中,非接触式测量需求广泛。本文聚焦的基于振动电容原理的

weixin_32349093的博客 273

新浪微博SDK的使用

花了两天时间研究了一下新浪微博SDK,遇到了不少问题,有必要整理一下 1、首先下载下weiboSdk,导入weiboSDKD和weiboSDKDemo两个项目,这时发现导入的weiboSDKDemo项目出现错误,原因是该项目的中集成weiboSDK项目时发生了异常 右键-->build path中将发生错误的包删除,在重新clean下。 2、将weiboSDK导入到自己的工程中...

weixin_30815427的博客 169

华大 HC32F460 DMA数据传输实战:从配置到中断处理的完整指南

本文提供了华大半导体HC32F460微控制器DMA(直接内存访问)功能的完整实战指南。详细解析了DMA的配置流程、中断处理机制以及软件与硬件触发方式,并附有实验代码示例。通过合理使用DMA进行数据传输,可以显著解放CPU资源,提升嵌入式系统的实时性与运行效率。

weixin_29194255的博客 255

【电子元件篇】电力电子中的变压器原理、作用、选型与测量指南-超简单解读

变压器虽小,却是电力电子的 “关键纽带”——从识别符号型号,到理解 “传交流隔直流” 的特点,再到按用途选参数、用万用表检测,只要抓住 “场景对应核心” 的逻辑,就能轻松掌握它的用法。

2301_81299416的博客 3024

iOS微信分享提示“未验证应用”的解决,配置 Universal Link

官方文档 配置 Universal Link 创建一个json文件,格式固定,无需更改。 {     "applinks": {         "apps": [],         "details": [{             "appID": "teamID.bundleID",     &n

xymspace 4182

告别爆显存!手把手教你为ComfyUI+华为Atlas 300I Duo配置wan2.1视频生成工作流(含CPU-VAE参数)

本文详细介绍了华为Atlas 300I Duo与ComfyUI的深度适配实战,重点优化wan2.1视频生成工作流。从硬件散热改造到软件栈配置,再到ComfyUI专项优化,提供完整的解决方案,显著提升视频生成效率与稳定性,特别适合需要高效文生视频的应用场景。

weixin_26812607的博客 459

导入WeiboSDK和WeiboSDKDemo工程时,出现感叹号和红色叉叉的解决方案

**导入WeiboSDK和WeiboSDKDemo工程时,出现感叹号和红色叉叉的解决方案**问题描述:导入WeiboSDK工程时,工程出现感叹号 点击Problems,展开5个错误,从描述中我们可以看到,“gen”文件丢失,android版本不匹配 解决方法:打开工程目录下的project.properties文件,将android-XXX版本改为与本机配置的版本号即可 改完

止木的专栏 1161

STM32H7+LAN8720A之ETH与LWIP配置问题(End)

开篇介绍 由于项目中需要使用到STM32H7系列的芯片,且该系列无法移植ST的标准库,只能使用ST的HAL库,通过STM32Cube生成HAL库的基本代码。在项目开发中需要使用到STM32板载的ETH口,在简化的四层模型中充当着数据链路层的角色,我们只需添加PHY并配置好IP,即可实现基本的TCP主从机通信、UDP通信等等。 一、激光雷达3i-T1 由于使用了一款只具有网口通信的单线激光雷达,其具有TCP和UDP方式的通信方式,为了避免进行TCP中的socket报文解析和繁琐的通信握手过程,我们首先将雷达配

weixin_42024702的博客 1万+

基于IMX429-IMX430-IMX432-IMX437系列传感器的SLVS-MIPI桥接方案设计与实现

本文详细介绍了针对索尼IMX429、IMX430、IMX432及IMX437系列传感器的SLVS-MIPI桥接方案设计与实现。针对工业视觉、车载摄像头等应用中主流SoC仅支持MIPI接口的痛点,提出基于FPGA(如Lattice Crosslink-NX)的透传桥接方案,将传感器输出的SLVS信号无损转换为MIPI CSI-2信号,确保数据完整性与低延迟,并探讨了硬件选型、逻辑设计及多传感器兼容性等关键问题。

weixin_29230901的博客 461

完美解决ios开发中两个.framework文件中.o文件冲突的问题(linker command failed with exit code 1 (use -v to see invocation)

项目中使用到XYPrinter.framework和Printer.framework中的两个.o文件有冲突, 查了资料通过拆分XYPrinter.framework删除其中冲突的.o文件,然后重新生成静态库, 解决了问题. 步骤如下: 新建一个文件夹resolveConflict, 将XYPrinter.framework复制到resolveConflict文件夹内.XYPrinte...

lichuandev的博客 2600

【七.三维视觉与视频分析】【1.点云处理:PointNet++/PointTransformer】

各位老铁,今天咱们要聊的可不是普通的二维图像处理,而是三维视觉领域最硬核的技术——点云处理。从最早的PointNet到如今的PointTransformer,这场技术进化堪比三维版的"像素革命"。今天咱们就深入解剖两大里程碑:PointNet++和PointTransformer,保证让你看完全文就能在点云领域横着走!想象一下,你抓了把沙子撒在空中,每粒沙子的位置都是三维坐标——这就是点云的典型形态。最后送大家一句话:点云处理就像在三维宇宙中寻找星辰的轨迹,既要望远镜的宏观视野,也要显微镜的细致入微。

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 473

iOS 平台 Cocos2d-x 项目接入新浪微博 SDK 的坑

iOS 平台 Cocos2d-x 项目接入新浪微博 SDK 的坑 最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了。发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理解,我来深入的写一写。 我的开发环境 Mac OS X 10.10.1 Xcode 6.1.1 (6A2008

Lady_gala的专栏 1307

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

teamai-cli:面向AI原生团队的语义化CLI工作流引擎

CLI(命令行接口)是现代软件工程中实现自动化、可编排与环境一致性的核心载体;其本质是将复杂操作封装为可复用、可验证、可管道化的终端指令。随着MCP(Model Communication Protocol)协议兴起,CLI正成为连接AI能力与工程实践的关键枢纽——它不再仅执行本地命令,而是作为上下文感知的‘AI能力路由层’,统一调度Prompt模板、校验环境配置、触发跨工具链的智能评审流程。teamai-cli正是这一演进的典型代表:基于npm分发、深度集成MCP协议、支持分层配置与Schema驱动的Pr

weixin_34320159的博客 369

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

《转》iOS 平台 Cocos2d-x 项目接入新浪微博 SDK 的坑

最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了。发现网上也有不少人遇到一样的问题,但是能找到的数量有限的解决办法写得都不详细,很难让人理解,我来深入的写一写。 我的开发环境 Mac OS X 10.10.1 Xcode 6.1.1 (6A2008a) Cocos2d-x 3.2 新浪微博 SD...

weixin_33884611的博客 116

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

iOS学习之iOS5.0以上 使用新浪微博开放平台OAuth

新浪微博开放平台为第三方应用提供了简便的合作模式,满足了手机用户和平板电脑用户随时随地分享信息的需求。通过调用平台的api即可实现很多微博上的功能。本篇主要目的是记录新浪微博移动SDK iOS版本的在iOS5下的嵌入和使用。1、申请一个新浪微博的移动应用 。申请地址:http://open.weibo.com/development,申请后得到App key 和 App Secret2、下载iOS

空杯子 1万+

iOS 平台 接入新浪微博 SDK 的坑(registerApp 的问题)

转载:http://leenjewel.github.io/blog/2015/01/08/ios-ping-tai-cocos2d-x-xiang-mu-jie-ru-xin-lang-wei-bo-sdk-de-keng/ 最近在做一个 iOS 的 cocos2d-x 项目接入新浪微博 SDK 的时候被“坑”了,最后终于顺利的解决了。发现网上也有不少人遇到

yqmfly的专栏 1万+

iOS开发——新浪微博篇之环境搭建以及新版sdk的相关问题

最近突发奇想希望拿简单的做一下新浪微博的一些简单功能

CocoaChen 2180

ShareSDK第三方平台使用指南——新浪微博

1.登录控制台并通过认证2.选择3.点击4.配置应用信息,图中信息仅为示例,创建时请按照真实信息填写,否则无法正常使用。

apkkkk的博客 1318

友盟,新浪微博,腾讯QQ分享的一些心得与总结,以及遇到的一些坑

感言:分享都是第三方,不管是原生第三方,还是集成的第三方,因此只有.h文件而没有.m文件,只能调用写好的方法,却没办法修改,只有在别人封装好的基础上进行自定义。对于像博主一样的对于分享研究的不深的开发者来说,或者说对于一些初级的开发者来说,分享一定要研究深刻,虽然不至于到每个方法都清楚,但是大体有些什么方法,能实现什么样的功能还是需要知道的。而博主就在分享的这些坑里,栽了很多跟头!现在就来分享一下

zy450142987的博客 2826

新浪微博授权

关于授权,其实官方的SDK文档写得很详细,我就在这里简要阐述一下步骤,和一些需要注意的地方 PS:大部分内容出自新浪官方SDK文档 一、到新浪开放平台注册成为开发者http://open.weibo.com/ 二、因为我们是开发IOS移动应用,所以选择创建应用 创建完后会得到一个App Key 和App Secrect,App Key在后面开发时用来注册应用,后者我目前还没

loddd的专栏 1663

cocos2d-x之新浪微博平台接入接口

简介 本文档主要介绍接入新浪平台的一些内容,便于查阅和使用。 第一步:认证准备 新浪微博的SDK放在github上面,下载地址:https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth,也可直接在控制台中输入gitclonehttps://github.com/mobileresearch/weibo_ios_sdk_sso-oa

破楼兰 7099

PHP+新浪微博开放平台+新浪云平台(SAE)

PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 一、新浪微博开放平台( http://open.weibo.com/wiki/index.php/Quickstart)           开放的是什么:开放平台开放给开发者的是每一个用户的用户关系,开发者不在向传统应用那样面对单个开发者而是面对用户身后的整个好友圈。每一个API都是围绕好友与好友之间的交流来提供相关的

明镜止水的博客 863
上一篇: IOS捕获异常,常用的异常处理方法
下一篇: 解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题
LIN1986LIN
博客等级 码龄19年 17粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值