IOS原生分享

在上一篇文章里已经给大家介绍了安卓的原生分享,这里会给大家介绍IOS原生分享,IOS的分享实际上是先用xcode编写分享的OC代码,然后生成.mm文件,.mm文件是OC,C,C++的混编,然后在Unity里是可以通过调用C,再用C调用OC,来实现调用OC代码。下面附上用xcode编译的分享的OC代码。

//要分享的内容,加在一个数组里边,初始化UIActivityViewController
    NSString *textToShare = @"我是U3d_erer";
    UIImage *imageToShare = [UIImage imageNamed:@"wang.png"];
    NSURL *urlToShare = [NSURL URLWithString:@"https://github.com/wslcmk"];
    NSArray *activityItems = @[urlToShare,textToShare,imageToShare];
    
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){
        //初始化回调方法
        UIActivityViewControllerCompletionWithItemsHandler myBlock = ^(NSString *activityType,BOOL completed,NSArray *returnedItems,NSError *activityError)
        {
            NSLog(@"activityType :%@", activityType);
            if (completed)
            {
                NSLog(@"completed");
            }
            else
            {
                NSLog(@"cancel");
            }
            
        };
        
        // 初始化completionHandler,当post结束之后(无论是done还是cancell)该blog都会被调用
        activityVC.completionWithItemsHandler = myBlock;
    }else{
        
        UIActivityViewControllerCompletionHandler myBlock = ^(NSString *activityType,BOOL completed)
        {
            NSLog(@"activityType :%@", activityType);
            if (completed)
            {
                NSLog(@"completed");
            }
            else
            {
                NSLog(@"cancel");
            }
            
        };
        // 初始化completionHandler,当post结束之后(无论是done还是cancell)该blog都会被调用
        activityVC.completionHandler = myBlock;
    }

在Unity中引入命名空间   using System.Runtime.InteropServices;
 [DllImport("__Internal")]
    private static extern void c_ctest();
这个c_ctest就是.mm文件中写的oc代码的方法,然后在点击按钮时调用c_ctest方法即可。

阅读更多
文章标签: IOS分享 Unity调用OC
个人分类: 分享
上一篇安卓原生分享
想对作者说点什么? 我来说一句

iOS系统自带各平台分享功能

2016年02月01日 84KB 下载

没有更多推荐了,返回首页

关闭
关闭