ShareSDKForANE 打包筆記,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