ARWebServerActivity 1.0.2

ARWebServerActivity 1.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年2月

alexruperez维护。




Analytics

概述

ARWebServerActivity是一个UIActivity子类,它为UIActivityViewController提供了一个“通过Web服务器共享”的动作,以便通过swisspol/GCDWebServer和Twitter Bootstrap UI来共享文件。

您可以分享

  • NSString作为TXT文件。
  • UIImage作为PNG文件。
  • NSURL到本地/远程文件。
  • NSData作为DATA文件。
  • NSDictionary作为JSON文件。
  • NSArray作为JSON文件。

ARWebServerActivity screenshot

克隆示例项目

要拉取swisspol/GCDWebServer子模块,请运行

git clone --recursive https://github.com/alexruperez/ARWebServerActivity.git

要求

  • 由于UIActivity仅支持iOS >= 6,因此其子类也如此。
  • 此项目使用ARC。如果您想在非ARC项目中使用它,您必须在目标设置 > 编译属性 > 编译源文件中为ARWebServerActivity.m和ARWebServerActivityViewController.m添加-fobjc-arc编译器标志。

安装

ARWebServerActivity子目录添加到您的项目中。除了swisspol/GCDWebServer及其依赖项外,没有其他必需库。

使用方法

(参见示例Xcode项目)

只需alloc/init创建一个ARWebServerActivity实例,并在创建UIActivityViewController时将此对象传递给applicationActivities数组。

ARWebServerActivity *webServerActivity = [[ARWebServerActivity alloc] init];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"Hello World!", [UIImage imageNamed:@"Example"], [NSURL fileURLWithPath:@"file/path"], [NSURL URLWithString:@"file/url"], [@"data" dataUsingEncoding:NSUTF8StringEncoding], @{@"key": @[@"value1", @"value2"]}, @[@"value1", @"value2"]] applicationActivities:@[webServerActivity]];
[self presentViewController:activityViewController animated:YES completion:nil];

请注意,您可以向任何UIActivityViewController中添加此活动,但只有当活动项中有有效对象时,才会向用户显示。

自定义

为了自定义此控件,您可以使用

- (instancetype)initWithPort:(NSNumber *)port bonjourName:(NSString *)bonjourName path:(NSString *)path activityViewController:(UIViewController *)activityViewController;
  • 端口swisspol/GCDWebServer端口。
  • bonjourName:如果您希望服务器在Bonjour中可见。
  • 路径:如果您想更改由您的服务器共享的本地文件路径。请注意,在共享后将删除它。
  • activityViewController:如果您想更改默认控件UI,可以子类化ARWebServerActivityViewController并不要调用[super viewWillAppear:animated];,制作您自己的UIViewController或改进我的ARWebServerActivityViewController并提交pull request。

待办事项(需要帮助!)

  • ARWebServerActivityViewController 和示例 Xcode 项目添加(程序化)自动布局约束以实现屏幕旋转。
  • 改进 ARWebServerActivityViewController 用户界面。