我是靠谱客的博主 隐形宝马,最近开发中收集的这篇文章主要介绍iOS关于应用内分享,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<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很神奇地入选了。

 

最后

以上就是隐形宝马为你收集整理的iOS关于应用内分享的全部内容,希望文章能够帮你解决iOS关于应用内分享所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部