zoukankan      html  css  js  c++  java
  • iOS关于应用内分享

     iOS7.0增加了AirDrop功能,可知在未来,手机信息资源的直接分享会越来越重要。而我们在iPhone系统短信点击照片会看到右上角的分享按钮,点击可以弹出一系列的应用菜单,允许用户把这张图片分享到其他应用。下面谈谈怎样让自己的应用出现在这个全局菜单。

    当然,这要应用内部手动设置支持。如图:

    7.0的分享菜单)

      

    (在IOS6.0分别在messagesafari支持的全局分享调用)

     

    设定应用支持的全局分享设置,在plist添加下面代码:

      

      <key>CFBundleDocumentTypes</key>
    
        <array>
    
            <dict>
    
                <key>CFBundleTypeName</key>
    
                <string>ShareImage</string>
    
                <key>CFBundleTypeRole</key>
    
                <string>Viewer</string>
    
                <key>LSHandlerRank</key>
    
                <string>Owner</string>
    
                <key>LSItemContentTypes</key>
    
                <array>
    
                    <string>public.image</string>
    
                </array>
    
            </dict>
    
    </array>

    简单说明一下,CFBundleDocumentTypes是必须添加的一个key,LSItemContentTypes指定所支持的分享类型,如上面的public.image就是指定图片的分享。CFBundleTypeRole和LSHandlerRank就是指定应用对这个资源的权限,例如viewer或者owner。

    具体可以看官方文档:http://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/DocumentInteraction_TopicsForIOS.pdf

     

    当用户点击了所对应的分享应用图标,就会调起应用,并且回调这个函数:

    - (BOOL)application:(UIApplication *)application
    
                openURL:(NSURL *)url
    
      sourceApplication:(NSString *)sourceApplication
    
             annotation:(id)annotation {}

    从url就能取出对应的资源,例如图片或者视频。至于下面的流程就得客户端自己定制。

     

    而在6.0以后,系统已经允许我们调用这个分享菜单界面,以把应用内的资源分享到其他应用。主要用的几个类如下:

    UIActivity:(用来定制上面分享的item)

    - (BOOL)canPerformWithActivityItems:(NSArray *)activityItems{}

    - (void)prepareWithActivityItems:(NSArray *)activityItems{}

    - (void)performActivity{}

     

    UIActivityViewController:(用来显示分享菜单的controller)

    -   (id)initWithActivityItems:(NSArray *)activityItems applicationActivities:(NSArray *)applicationActivities;

     

    这是测试调用这个菜单的一个示例,系统提供的控件,效果还是不错的。iOS7.0就更好看点。具体可以详细看看UIActivityViewController的介绍。

     

    这是系统默认支持的分享菜单。Weibo很神奇地入选了。

     

     

  • 相关阅读:
    校验文件数字签名的合法性(VerifyPE)
    windbg help
    VIM的常用操作
    使用Jsonp解决跨域数据访问问题
    Linux下不同文件编码的转换
    Segoe Font 介绍
    关于框架的一些思考
    Linux下Aptana Plugin For Eclipse的破解
    增强网站易用性的10个设计技巧
    Firebug中的console tab使用总结
  • 原文地址:https://www.cnblogs.com/vicstudio/p/3266190.html
Copyright © 2011-2022 走看看