TwilioTest 0.1.2

TwilioTest 0.1.2

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

Alex Maltsev维护。



  • alex-maltsev

描述

由于应用程序用户的特定网络设置问题(通常是 WiFi 路由器阻止某些必需内容),Twilio 有时会拒绝工作。当您无法依赖受影响用户的与技术技能时,这可能是一个令人头疼的难题。本项目为您提供了一个在您的应用程序中构建 Twilio 诊断功能的方法,这样您就可以拦截 Twilio 尝试建立通话的详细日志。

安装

TwilioTest 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod "TwilioTest"

用法

要运行示例项目,克隆存储库,然后首先从 Example 目录运行 `pod install`。

初始化

#import <TwilioTest\TwilioTest.h>

TwilioTest twilioTest = [[TwilioTest alloc] init];

// Adjust timeouts if desired
twilioTest.testPageFetchTimeout = 5; // Timeout for fetching Twilio test page
twilioTest.connectionAttemptTimeout = 30; // Timeout for establishing Twilio call

不使用功能令牌进行测试

TwilioTest 可以尝试从 Twilio 测试页面 http://clientsupport.twilio.com 捕获 Twilio 功能令牌,因此您无需提供自己的令牌。

[twilioTest performTestWithCompletionHandler:^(NSData *logData, NSError *error) {
    if (error) {
        // NB: 'error' will be of a custom error type (see TwilioTest.h)
        NSLog(@"Twilio test failed with error: %@", error.localizedDescription);
    }
    else {
        NSLog(@"Twilio test passed");
    }

    NSLog(@"Captured console log of length %zd", logData.length);
}];

由于 Twilio 测试页面是通过 HTTP 提供的,因此您需要在 iOS 9 上为 TwilioTest 配置一个安全异常才能正常工作。您可以通过在 Info.plist 文件中添加以下内容来实现这一点:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>twilio.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

使用您自己的功能令牌进行测试

如果您想使用自己的功能令牌和连接参数,可以调用以下方法代替:

- (void)performTestWithCapabilityToken:(NSString *)token
                            parameters:(NSDictionary *)parameters
                     completionHandler:(void (^)(NSData *logData, NSError *error))handler;

在这里,'parameters' 是您通常传递给 `TCDevice connect` 函数的字典,可以是 nil。

许可证

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