iOS接入指南

该 SDK 具体包含一个类 ( MPShareSDK ) 和一个协议 ( MPSDKProtocol ),主要包含如下几个方法:


@protocol MPSDKProtocol <NSObject>

@optional

/**
 *  分享到美拍是否成功
 *
 *  @param success 是否成功
 */
- (void)shareToMeipaiDidSucceed:(BOOL)success;

@end

@interface MPShareSDK : NSObject

/**
 *  注册应用到美拍
 *
 *  @param appKey 注册的 appkey
 */
+ (void)registerApp:(NSString *)appKey;

/**
 *  美拍是否安装
 */
+ (BOOL)isMeipaiInstalled;

/**
 *  当前版本美拍是否支持视频分享
 */
+ (BOOL)isMeipaiSupportVideoSharing;

/**
 *  当前版本美拍是否支持照片分享
 */
+ (BOOL)isMeipaiSupportPhotoSharing;

/**
 *  分享视频到美拍
 *
 *  @param pathUrl 视频在相册中的 url
 *  一个 url 的地址实例:assets-library://asset/asset.m4v?id=E5A30D8D-77AE-40D2-8755-8CA43CAA19EB&ext=m4v
 */
+ (void)shareVideoAtPathToMeiPai:(NSURL *)pathURL;

/**
 *  分享照片到美拍
 *
 *  @param pathURL 照片在相册中的 url
 *  一个 url 的地址实例:assets-library://asset/asset.JPG?id=B003D0A0-B1E4-40C9-9864-EFA9CD39597C&ext=JPG
 */
+ (void)sharePhotoAtPathToMeiPai:(NSURL *)pathURL;

/**
 *  处理美拍客户端程序通过 url 启动第三方应用时传递的数据
 *  需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用
 *
 *  @param url 启动第三方应用的URL
 *  @param delegate 用来接收分享成功或失败的代理
 */
+ (BOOL)handleOpenURL:(NSURL *)url delegate:(id<MPSDKProtocol>)delegate;

#pragma mark - Deprecated

/**
 *  Deprecated
 *  当前安装的美拍是否支持第三方的视频分享
 @see Use isMeipaiSupportVideoSharing instead
 */
+ (BOOL)isMeipaiSupportSharing __attribute__((deprecated("Use isMeipaiSupportVideoSharing instead. Deprecated in version 1.0")));

@end


以上为方法的具体注释。

具体步骤

1. 将 MPShareSDK.framework 拖入到工程中,确保 Copy items if needed 以及 Add to targets 有勾选。

2. 完成 framework 的引入工作后,在 info.plist 中添加如下代码(主要是把美拍加入跳转白名 单以及分享到美拍后返回到你们的 app):


 <!-- 把美拍加入跳转白名单 -->
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>mtmv</string>
        <string>mpsharesdk10</string>
        <string>mpsharesdk11</string>
    </array>
        <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <!-- 填入 mp+yourappkey,如果 appkey(clientid)为1234567,则此处填写 mp1234567 -->
                <string>mp+yourappkey</string>
            </array>
        </dict>
    </array>


3. 接着在 - (BOOL) application:(UIApplication *) application didFinishLaunchingWithOptions:(NSDictionary *) launchOptions 方法中调用 [MPShareSDK registerApp:@"yourappkey"];,当然你也可以在其它任何地方调用该方法,只要保证在调用分享方法前该方法已被调用。


4.在要分享的地方先将视频/图片写入到相册,然后将该视频在相册中的 url 传递给 shareVideoAtPathToMeiPai: sharePhotoAtPathToMeiPai: 方法。至此,分享到美拍的流程已经全部完成。在分享前最好做一个判断,分别调用isMeipaiSupportVideoSharingisMeipaiSupportPhotoSharing来判断当前版本美拍是否支持对应类型的分享(视频分享需美拍版本4.1.0及以上,图片分享需美拍版本4.7.0及以上)。



5. 在美拍 app 内分享成功或失败都有对应的回调,需要在 application:openURL:sourceApplication:annotation: 中调用 [MPShareSDK handleOpenURL:url delegate:yourdelegate]; ,然后实现对应协议即可,协议方法的 success 参数为分享结果(成功或失败)。


如果您的项目使用 Swift 编写,直接在 yourappname-Bridging-Header.h (如果不存在则直接创建一个) 中导入 #import <MPShareSDK/MPShareSDK.h>,然后正常使用即可。


版本更新记录

  • Version 1.0.1
    支持 Bitcode

  • Version 1.0.0
    添加图片分享功能
    分享回调代理方法名由
    - (void)shareToMeipaiDidSuccess:(BOOL)success; 替换为 - (void)shareToMeipaiDidSucceed:(BOOL)success;

  • Version 0.9.1
    修复美拍返回第三方应用时,第三方名称显示错误的 bug

  • Version 0.9.0
    新增视频分享功能