古代协议 0.1.4

古代协议 0.1.4

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Matt Croydon维护。



  • Matt Croydon

介绍

通过继承 NSURLProtocol 类,ArchaicProtocols 使 iOS 和 OS X 开发者能够使用旧版的文本协议。

为什么?为什么不呢!

目前已实现

Wishlist

  • Gopher

示例

Finger

#import "FingerURLProtocol.h"

// Register our NSURLProtocol subclass
[NSURLProtocol registerClass:[FingerURLProtocol class]];

// Create a Finger URL (the user part is optional)
NSURL *finger = [NSURL URLWithString:@"finger://[email protected]/"];

QOTD

#import "QOTDURLProtocol.h"

// Register our NSURLProtocol subclass
[NSURLProtocol registerClass:[QOTDURLProtocol class]];

// Create a QTOD URL
NSURL *qotd = [NSURL URLWithString:@"qotd://djxmmx.net/"];

Daytime

#import "DaytimeURLProtocol.h"

// Register our NSURLProtocol subclass
[NSURLProtocol registerClass:[DaytimeURLProtocol class]];

// Create a Daytime URL
NSURL *daytime = [NSURL URLWithString:@"daytime://time-c.nist.gov/"];

Echo

#import "EchoURLProtocol.h"

// Register our NSURLProtocol subclass
[NSURLProtocol registerClass:[EchoURLProtocol class]];

// Create an Echo URL
NSURL *echo = [NSURL URLWithString:@"echo://protocolhistory.postneo.com/?testecho"];

完整示例

#import "FingerURLProtocol.h"

// Register our NSURLProtocol subclass
[NSURLProtocol registerClass:[FingerURLProtocol class]];

// Create a Finger URL (the user part is optional)
NSURL *finger = [NSURL URLWithString:@"finger://[email protected]/"];

// Get the default session
NSURLSession *session = [NSURLSession sharedSession];

// Create a task and run it
NSURLSessionDataTask *task = [session dataTaskWithURL:finger completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    NSLog(@"Response encoded %@ with error %@.", response.MIMEType, error);
    NSString *responseString = [[NSString alloc] initWithData: data
                                                     encoding: NSASCIIStringEncoding];
    NSLog(@"Full response:\n%@", responseString);
}];
[task resume];
[nw61-310-8.mit.edu]
Random Hall Bathroom Server v2.1

                         Bonfire Kitchen: *IN*USE* for 36 min
                         Bonfire  Lounge: vacant for 6 hr
                          Pecker  Lounge: vacant for 2 min
                          Pecker Kitchen: vacant for 39 min
   K 282  L  290 K          Clam Kitchen: *IN*USE* for 33 min
   ... ... ... ...          Clam  Lounge: vacant for 4 hr
  | x : o | o : o |          BMF  Lounge: vacant for 3 min
  | x : o | o : o |          BMF Kitchen: vacant for 14 min
  | o : o | o : o |         Loop Kitchen: vacant for 2 sec
  | o : o | - : o |         Loop  Lounge: vacant for 6 hr
 ~~~~~~~~~~~~~~~~~~~  Black Hole  Lounge: vacant for 53 min
                      Black Hole Kitchen: vacant for 3 hr
      o = vacant!        Destiny Kitchen: vacant for 9 min
      x = in use          Destiny Lounge: vacant for 4 hr
                                     Foo: vacant for 59 min

For more information finger [email protected]

(2181964)

用法

要运行示例项目,首先通过克隆仓库,然后在 Example 目录中先运行 pod install

安装

测试

要运行测试,克隆仓库,在 Example 目录中打开 Example.xcworkspace,然后运行 pod install

测试文件位于 Example/ExampleTests/ExampleTests.m 中,可以通过 Product -> Test 运行。测试也是 ArchaicProtocols 的完全示例。

如果在构建过程中遇到错误,请从 Build Phases 下的 Link Binary With Libraries 中移除 libPods-Example.a。有关更多信息,请参阅 这个 CocoaPods 问题

开发状态

ArchaicProtocols 处于早期实验性开发阶段,应被视为“alpha”质量,不适合部署。如果您发现错误或遇到任何问题,请提交一个问题或拉取请求。

作者

Matt Croydon,[email protected]

许可证

ArchaicProtocols 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。