ShareSDKForANE 打包笔记
最近做了一个ShareSDK IOS的接入 (ANE) , 现在想想其实很简单 不过由于对Xcode,ANE的不熟悉也折腾了好久, 舔着脸打扰客服好几天… 呵呵
目前把我接入的一些步骤列出来 希望能帮到你.
准备工作
0· Mac机器一台,最新的AIRSDK
1·下载你需要的SDK(定制下载,勾选你自己需要的分享平台)
2·下载https://github.com/ShareSDKPlatform/ANESample
编译libShareSDKForANE.a
运行ANESample-master/iOS/ShareSDKForANE/ShareSDKForANE.xcodeproj
1·将下载的ShareSDK拖入项目中
2·去除掉当前工程中所有的引用Lib库(全都清空)
3· 更改设备为ios Device
4· Command+B 编译项目
5· 修改ShareSDKForANE.m中用不到的Import及初始化
点击Command+B再次编译项目,此时Products下面的libShareSDKForANE.a应该变为黑色(如果有错误则为红色). 点击右侧的箭头找到对应的文件 Copy出来
注意,此时的libShareSDKForANE.a应该为200多KB 如果大小相差很多 请检查之前的步骤
编译ANE
1·将生成的libShareSDKForANE.a copy到 package/iphone-ARM 目录下
2·将下载的ShareSDK copy到package/iphone-ARM目录下
3·删除iphone-x86目录
4·修改ane.sh脚本为:
你的最新AIRSDK目录/adt -package -target ane ShareSDK.ane extension.xml -swc ShareSDKExtension.swc -platform iPhone-ARM -C ./iPhone-ARM . -platformoptions platformoptions.xml
5·修改platformoptions.xml (下面的XML对应 新浪微博,Qzone,微信,Facebook,Twitter)
<platform xmlns="http://ns.adobe.com/air/extension/16.0"> <description >ShareSDK Extension</description> <copyright>ShareSDK 2014 (optional)</copyright> <sdkVersion>7.0</sdkVersion> <linkerOptions> <option>-w</option> <option>-ios_version_min 5.11</option> <option>-framework Foundation</option> <option>-framework CoreTelephony</option> <option>-framework MessageUI</option> <option>-framework SystemConfiguration</option> <option>-framework QuartzCore</option> <option>-framework ImageIO</option> <option>-lz.1.2.5</option> <option>-licucore</option> <option>-lstdc++</option> <option>-lsqlite3</option> <option>-framework Security</option> </linkerOptions> <packagedDependencies> <packagedDependency>ShareSDK/Core/AGCommon.framework</packagedDependency> <packagedDependency>ShareSDK/Core/ShareSDKCoreService.framework</packagedDependency> <packagedDependency>ShareSDK/ShareSDK.framework</packagedDependency> <packagedDependency>ShareSDK/Connection/SinaWeiboConnection.framework</packagedDependency> <packagedDependency>ShareSDK/Connection/QZoneConnection.framework</packagedDependency> <packagedDependency>ShareSDK/Connection/WeChatConnection.framework</packagedDependency> <packagedDependency>ShareSDK/Connection/FacebookConnection.framework</packagedDependency> <packagedDependency>ShareSDK/Connection/TwitterConnection.framework</packagedDependency> <packagedDependency>ShareSDK/UI/ShareSDKiPadDefaultShareViewUI.framework</packagedDependency> <packagedDependency>ShareSDK/Extend/WeChatSDK/libWeChatSDK.a</packagedDependency> <packagedDependency>ShareSDK/Extend/SinaWeiboSDK/libWeiboSDK.a</packagedDependency> <packagedDependency>ShareSDK/Extend/QQConnectSDK/TencentOpenAPI.framework</packagedDependency> </packagedDependencies> </platform>
* 几点注意 这里很关键
- <platform xmlns="http://ns.adobe.com/air/extension/16.0”> 这里改为你AIRSDK对应的最新版本号 目前我是16.0
-· <option>-ios_version_min 5.11</option> 这里改为5.11
-· http://wiki.mob.com/快速集成指南/ 中说的新浪微博SDK依赖库 为ImageIO.framework 那么option中填写的方式为<option>-framework ImageIO</option>, 同理还包括libstdc++.dylib 对应的是 <option>-lstdc++</option> 请自行发现规律
-· <packagedDependency>ShareSDK/Extend/WeChatSDK/libWeChatSDK.a</packagedDependency> 在下载的ShareSDK中会有一些点a文件,这里也需要写进去
6· 修改extension.xml
<extension xmlns="http://ns.adobe.com/air/extension/16.0"> <id>cn.sharesdk.ane.ShareSDKExtension</id> <versionNumber>1</versionNumber> <platforms> <platform name="iPhone-ARM"> <applicationDeployment> <nativeLibrary>libShareSDKForANE.a</nativeLibrary> <initializer>ShareSDKInitializer</initializer> <finalizer>ShareSDKFinalizer</finalizer> </applicationDeployment> </platform> </platforms> </extension>
仅剩下 platform iPhone-ARM, 并且修改xmlns到16.0(当前最新的AIRSDK版本号)
7· CD到对应目录 sh ane.sh
如果一切顺利 则会产生ShareSDK.ane
测试ANE
我用的是Intellij,如果你用Flash Builder请自行根据步骤目的进行设置
1· 将下载的ShareSDK中的所有bundle文件 拖入项目,确保其最终被打包
2· 修改项目对应的xml配置文件,增加需要用到的URLSchemes
3· http://wiki.mob.com/社交平台配置项说明 中定于的需要传入参数初始化ShareSDK
一切顺利的话 你的ShareSDK应该已经可以工作了 :)
Enjoy
Best
Eran
ShareSDKForANE 打包笔记的更多相关文章
- Linux文件压缩与打包笔记
linux 文件压缩与打包笔记 压缩原理:通过算法去掉空位,1Bytes=8bits , 可能存储的真正有用的数据并没有占满一个字节空间 , 还有就是可能有重复的数据,通过某种算法从这些方面进行压缩处 ...
- Mui本地打包笔记(一)使用AndroidStudio运行项目 转载 https://blog.csdn.net/baidu_32377671/article/details/79632411
转载 https://blog.csdn.net/baidu_32377671/article/details/79632411 使用AndroidStudio运行HBuilder本地打包的Mui项目 ...
- windows下react-native android打包笔记
看了东方耀老师的视频,跟着记下了以下笔记,其实和东方耀老师的课堂笔记差不多,增加了一点细节 1. 生成一个签名密钥: 在项目目录下运行 keytool -genkey -v -keystore my- ...
- Android Ant打包笔记
本文文档的下载地址(Word版):http://download.csdn.net/detail/yangwei19680827/7250711 Android Ant 打包 网上找了ant打包的资料 ...
- vue项目打包笔记
我的需求是在同一个代码目录下,可以同时放入两个项目包,通过运行不同的命令,运行相应的项目页面以及打包相应的项目. 这样的话,代码管理比较方便,用于多个项目在同一时间开发,类型一样,但在功能上有所区分的 ...
- iview-admin打包笔记
在程序根目录右键打开cmd,输入 npm run build 这时就会进入打包的步骤,打包好之后就会在程序根目录出现一个dist的文件夹,里面有一个index.html文件和另一个dist的文件夹. ...
- webpack打包笔记
optimist是一个node库,将webpack.config.js与shell参数整合成options对象 options对象包含之后构建的重要信息,类似于webpack.config.js we ...
- python下py2exe打包笔记
1.下载与python版本一致的py2exe插件包 2.安装py2exe,安装后在python目录下存在:\Lib\site-packages\py2exe\... 3.新建一个python脚本文件, ...
- Linux学习笔记(二)2015.4.14
笔记2.1 Q:登陆命令 A:刚开始登陆的是安装Linux时设置的普通用户,如lin,输入su - root后,成为root用户 笔记2.2 Q:切换控制台 A:ctrl+alt+F1-F7可以切 ...
随机推荐
- Scripting Languages
Computer Science An Overview _J. Glenn Brookshear _11th Edition A subset of the imperative programmi ...
- Visual Studio 2008破解激活升级方法
声明:本文中涉及到的序列号及更新方法均来自互联网,请支持正版. 微软为业余爱好者.热衷者和学生提供了免费版——Express Edition (轻型.易学.易用的开发工具). 如不想支付任何费用,建议 ...
- Python - 求斐波那契数列前N项之和
n = int(input("Input N: ")) a = 0 b = 1 sum = 0 for i in range(n): sum += a a, b = b, a + ...
- CSS子元素margin-top对于父元素的影响
父元素的盒子包含一个子元素盒子,给子元素盒子一个垂直外边距margin-top,父元素盒子也会往下走margin-top的值,而子元素和父元素的边距则没有发生变化. html代码如下 <styl ...
- 【转】配置 VS 2015 开发跨平台手机应用
为了使用 VS 2015 开发跨平台手机应用,VS 2015 装了很多次,遇到了很多坑,才终于弄明白怎样配置才能正常使用C#开发手机应用,现把步骤分享给大家,以免大家少走弯路. 运行环境: Windo ...
- iOS Provisioning Profile(Certificate)与Code Signing详解
引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做 iOS 开发的同学没少被折腾.对于一个 iOS ...
- NuGet的几个小技巧
因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因. 如有冒犯请联系本人,或删除,或标明出处. 因为好的文章,以前只想收藏,但连接有时候会失效,所以 ...
- myscroll
<!DOCTYPE html> <head><meta http-equiv="Content-Type" content="text/ht ...
- DMV to track the temp file usage for SQLServer
There are three DMVs you can use to track tempdb usage: sys.dm_db_task_space_usagesys.dm_db_session_ ...
- shell自动计算脚本
shell自动计算脚本 #!/bin/bash echo $(($)) [root@bogon ~]# sh b.sh 123+123246 let用户声明这个操作是要计算,后者的效率更高 (expr ...