我正在尝试连接到 Socket.IO 服务器。我正在使用 swift 库
https://github.com/socketio/socket.io-client-swift
这是我的示例代码
NSString *url = [NSString stringWithFormat:@"myIP:443];
self.socket = [[SocketIOClient alloc] initWithSocketURL:url opts:nil];
[socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];
[socket on:@"currentAmount" callback:^(NSArray* data, SocketAckEmitter* ack) {
double cur = [[data objectAtIndex:0] floatValue];
[socket emitWithAck:@"canUpdate" withItems:@[@(cur)]](0, ^(NSArray* data) {
[socket emit:@"update" withItems:@[@{@"amount": @(cur + 2.50)}]];
});
[ack with:@[@"Got your currentAmount, ", @"dude"]];
}];
[socket connect];
这是我在我的plist中使用的
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>xx.xx.xxx.xxx</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
我还在努力
App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用的 Info.plist 文件配置临时异常(exception)。
最佳答案
然后它可能会尝试使用您尚未在 info.plist
文件中提供的另一个地址连接到 API。
作为临时措施,您可以这样做,以消除此传输安全错误:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
关于ios - 使用 Socket.IO 时禁用 App Transport Security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33200682/