封装qq分享静态库到cocopod 

1,创建framework库,到腾讯开放平台(open.qq.com)申请项目appid

2,将iOS SDK中的TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle文件拷贝到应用开发的目录下并引用。

3,添加SDK依赖的系统库文件。分别是”Security.framework”, “libiconv.dylib”,“SystemConfiguration.framework”,“CoreGraphics.Framework”、“libsqlite3.dylib”、“CoreTelephony.framework”、“libstdc++.dylib”、“libz.dylib”。

4,创建一个继承与NSObject的类,例如:CHShareUtil,测试方法:- (void)share;

在Build Phases中把.h文件放进public里。在静态库头文件里引入#import “CHQQShare.h"

#import <TencentOpenAPI/QQApiInterface.h>

#import <TencentOpenAPI/QQApiInterfaceObject.h>

#import <TencentOpenAPI/TencentOAuth.h>

- (void)share

{

TencentOAuth*oauth = [[TencentOAuth alloc] initWithAppId:@“你的id,必须填写才能分享" andDelegate:self];

QQApiTextObject *txtObj = [QQApiTextObject objectWithText:@"text"];

SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:txtObj];

QQApiSendResultCode sent = [QQApiInterface sendReq:req];

}

5,创建一个项目,引用自己封装的framework,注意:在Build Rules里创建(如果没有)Copy Files,Destination选Frameworks,把自定义的framework拖过来。否则会出现崩溃:Reason: image not found。

6,在项目plist里面配置白名单

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<array>

<string>weixin</string>

<string>mqq</string>

<string>tim</string>

<string>wechat</string>

<string>mqqopensdkapiv2</string>

<string>mqqapi</string>

</array>

</plist>

7,  项目里调用:  [[[CHQQShare alloc]init] share]; 即可实现qq分享

8,最后根据我的pod博客即可发布到pod。http://www.cnblogs.com/huntaiji/p/6908982.html

遇到找不到头文件QQApiInterface.h的问题,pod配置文件的问题,参考我的这俩主要配置:

s.source_files = "CHShareUtil", "CHShareUtil/**/*.{h,m}"

s.public_header_files = "CHShareUtil/CHQQShare.h"

全配置文件:

Pod::Spec.new do |s|

s.name = "CHShareUtil"

s.version = "0.0.3"
s.summary = "封装QQ分享到cocoaPod,无需复杂配置即可方便的调用,基于:qq V3.2.1"

s.description = <<-DESC
封装QQ分享到cocoaPod,无需复杂配置即可方便的调用,基于:qq V3.2.1 后期会集成微信等分享功能
DESC

s.homepage = "https://github.com/lichanghong/CHShareUtil"

s.license = "MIT"
# s.license = { :type => "MIT", :file => "FILE_LICENSE" }

s.author = { "李长鸿" => "lichanghong@b.360.cn" }

s.platform = :ios, "8.0"

s.source = { :git => "https://github.com/lichanghong/CHShareUtil", :tag => "#{s.version}" }

s.source_files = "CHShareUtil", "CHShareUtil/**/*.{h,m}"

s.public_header_files = "CHShareUtil/CHQQShare.h"

s.resource = "CHShareUtil/TencentOpenApi_IOS_Bundle.bundle"

s.requires_arc = true
s.pod_target_xcconfig = { 'ENABLE_BITCODE' => 'NO' }
s.frameworks = 'Security','SystemConfiguration','CoreGraphics','CoreTelephony', 'UIKit', 'Foundation'
s.libraries = 'iconv','sqlite3','stdc++','z'
s.ios.vendored_frameworks = 'CHShareUtil/TencentOpenAPI.framework'

end

封装qq分享静态库到cocopod的更多相关文章

  1. iOS开发之静态库(三)—— 图片、界面xib等资源文件封装到.a静态库

    编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 新建工程:File -> Ne ...

  2. iOS开发之静态库(五)—— 图片、界面xib等资源文件封装到静态框架framework

    编译环境:Macbook Air + OS X 10.9.2 + XCode5.1 + iPhone5s(iOS7.0.3) 一.首先将资源文件打包成bundle 由于bundle是静态的,所以可以将 ...

  3. 自己在linux上编译、链接、动态库和静态库的学习笔记

    在平常的项目中,我们都是使用公司要求的makefile.makedebug一类的文件,因此,在编译.链接.生成和链接动态库与静态库的时候,我们只是简单的使用一些已经设置的变量,只是简单的修改.添加一些 ...

  4. 封装ios静态库碰到的一些问题(三)

    静态库封装好以后,就存在一个问题,静态库,模拟器的静态库何真机的静态库是分开的,那么能够合并,答案是肯定的,但是必须我们手工在终端工具下执行命令合并 lipo -create Release-ipho ...

  5. 封装ios静态库碰到的一些问题(一)

    封装IOS动态库,碰到的第一个问题,就是资源文件的问题,如果将你的程序封装成为静态库,那么静态库中不会包含资源文件和xib文件,这个时候就需要自己封装bundle文件了,而笔者开发环境默认是xcode ...

  6. 经验分享:Xcode 创建.a和framework静态库【转】

    作者:Haley_Wong 最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态 ...

  7. VS2012(update3)编译Qt5.1.1 32位静态库debug-and-release版及结果分享

    1. 下载zip源码,我下载的是qt-everywhere-opensource-src-5.1.1.zip这个文件. 2.安装python 3.解压缩qt-everywhere-opensource ...

  8. 经验分享:Xcode 创建.a和framework静态库

    最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的 ...

  9. iOS xcode创建静态库封装自己的SDK及使用

    https://www.cnblogs.com/JustForHappy/p/5773039.html 一,静态库和动态库的区别在这里就不说了,个人感觉如果是自己封装提供别人下载的话应该是静态库比较方 ...

随机推荐

  1. maven构建web项目,用jetty测试的配置pom.xml

    maven构建web项目,用jetty测试的配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...

  2. Envoy 源码分析--buffer

    目录 Envoy 源码分析--buffer BufferFragment RawSlice Slice OwnedSlice SliceDeque UnownedSlice OwnedImpl Wat ...

  3. DBlink 创建 删除 脚本

    --配置SQLSERVER数据库的DBLINK --删除dblink Exec sp_droplinkedsrvlogin test,Null Exec sp_dropserver test --创建 ...

  4. rpm -ivh 安装与 rpm -U安装解决问题一例

    [root@localhost server3.10.12]# rpm  -ivh krb5-libs-1.15.1-18.el7.x86_64.rpm警告:krb5-libs-1.15.1-18.e ...

  5. Web基础学习

    Servlet和Servlet容器.Web服务器概念:https://blog.csdn.net/lz233333/article/details/68065749 <初学 Java Web 开 ...

  6. Kubernetes 入门之Kubernetes 的基本概念和术语

    Kubernetes是什么?    他是一个全新的基于容器技术分布式架构领先方案:    他也是一个开放的开发平台:    他也是一个完备的分布式系统支撑平台:   Kubernetes的基本慨念和术 ...

  7. ThinkPHP部署在lnmp环境中碰到的问题

    先说一下问题: 因为tp5的入口文件在public目录下,而Application和public同级, 我用的lnmp1.5默认做了防跨站目录设置,所以导致入口文件无法进入application目录, ...

  8. crt证书iis 中引用 程序目录提示 System.UnauthorizedAccessException:拒绝访问

    在站点根目录添加 Authenticated Users 权限

  9. Spring _day02_IoC注解开发入门

    1.Spring IoC注解开发入门 1.1 注解开发案例: 创建项目所需要的jar,四个基本的包(beans core context expression ),以及两个日志记录的包,还要AOP的包 ...

  10. HDU1237

    /************************************************************** 作者:陈新 邮箱:cx2pirate@gmail.com 用途:hdu1 ...