Tag: networking

UICollectionView在滚动中重新加载错误的图像

在下面的代码中,我从文本文件中下载图像URL,将其存储在NSMutableArray中,然后从CellforItemAtIndexPath中的这些URL中下载图像。 但是,当我上下滚动,短暂的一瞬间,错误的图像是在错误的地方。 它稍后纠正,但我想摆脱滚动的问题。 代码如下: – (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ static NSString *identifier = @"Cell2"; UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath]; AsyncImageView *recipeImageView = (AsyncImageView *)[cell viewWithTag:100]; UILabel *titleView = (UILabel *)[cell viewWithTag:101]; titleView.numberOfLines = 3; UIImageView *overlay = (UIImageView *)[cell viewWithTag:111]; FXBlurView *blurView = (FXBlurView *)[cell viewWithTag:110]; blurView.tintColor = [UIColor colorWithRed:51.0 green:51.0 blue:51.0 alpha:1]; […]

Safari不会通过http / 2加载一些资源

Http / 2服务器上启用,昨天我注意到,在Iphone(IOS 10.2)不加载一些资源的错误: failed to load resource:connecting to server is not possible 。 当我将Iphone连接到Mac时,在控制台中没有错误,但是仅仅是由于某些请求导致的错误导致的。 有趣的事情可能是没有加载的资源是真实域的子域(CNAME是正确的)。 网站在https上。 服务器是Windows服务器2016年。 编辑:我们解决了这个子域问题,但仍然有来自同一个域的请求没有任何响应的请求。 我知道当>资源通过https加载时,IOS> 9.3支持http / 2,但是不工作的资源不是该域的一部分可以帮助解决这个问题,但我不知道如何。 我知道可能问题是有关http / 2协议,因为我的android本机appliacation也停止工作的错误: java.io.IOException: stream was reset: PROTOCOL_ERROR 。 我通过强制我的应用程序使用http / 1来解决这个问题。 现在工作。 但如何解决iPhone Safari的问题? 我正在使用ASP.NET Web窗体作为后端(它支持自我使用的ASP.NET 4.6以来的http2)。

无法重现App Store审查小组所具有的(IPv6?)连接问题

我的iOS应用遇到了IPv6问题。 最初,我在6月1日前几天提交了不了解IPv6要求( https://developer.apple.com/news/?id=05042016a )。 他们在6月1日进行了审查,并因IPv6不兼容/无法连接而被拒绝。 我不想build立自己的IPv6networking,所以我更新了代码是否合规 – 我更新了Apple提供的Reachability到最新版本。 我也在使用几年前由联合创始人编写的自己的下载库。 它没有连接到IP地址,或任何苹果build议,所以我没有决定现在升级它。 我也使用旧版本的AFNetworking。 我重新提交了一个应用程序。 同样的理由再次被拒绝。 我去购买了雷电适配器并设置了IPv6。 现在我很好地连接到该应用程序。 我也可以很好地连接到另一个应用程序,它仍然有非常古老的可达性代码。 我的主要问题是我想让它像苹果公司一样突破,所以我可以正确地修复它。 笔记: – 我最初试图发表对IPv6app store拒绝的评论,但它太长了。 我是Twitter上的@andytriboletti,由Sean在这个问题上链接。 – 我在苹果开发者论坛发布了这个,但是它仍然在等待10小时后的批准: https : //forums.developer.apple.com/message/141461#141461 – 这是我如何使用我的Macbook Pro上的Thunderbolt以太网适配器设置我的IPv6networking。 https://developer.apple.com/library/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html – 我正在运行OS 9.3.2的iPhone 6进行testing。 正在运行IPv6networking设置的我的Macbook Pro正如苹果公司链接到我的文章中所述,正在运行10.11.5。 – 我testing了苹果testing的确切版本。 我使用buddybuild作为构build自动化工具,并且他们向我发送了一封电子邮件,其中包含上传到iTunes的版本。 – 该应用程序向https://greenrobot.com发出networking请求(还包括广告和分析库)。 在我的代码中没有硬编码的IP地址。 GreenRobot看起来像是为IPv6设置的: https : //ip6.nl/#greenrobot.com

在iOS中的UITableViewasynchronous图像加载的build议

我目前正在使用这个代码加载我的表左侧的缩略图,标题和副标题: – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier]; } NSDictionary *post = [posts objectAtIndex:indexPath.row]; cell.textLabel.text = [post objectForKey:@"post_text"]; cell.detailTextLabel.text = [post objectForKey:@"post_author_name"]; NSString *postpictureUrl = [post objectForKey:@"picture"]; NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:postpictureUrl]]; cell.imageView.image […]

POST请求与AFNetworking 2.0不起作用,但在HTTP请求testing器工作

我刚开始使用新的AFNetworking 2.0 API,现在已经使用了以前的版本。 我试图做一个标准的http POST request ,但可悲的是我不太好。 这是我现在的代码: AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"username" : self.usernameField.text, @"password" : self.passwordField.text}; [operationManager POST:@"https:URL GOES HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", [responseObject description]); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; 现在这返回一个JSON的(NULL) ,并没有给我一个像404或什么的状态代码(顺便说一句,我们如何获得使用AFN 2.0时的状态代码?)。 但是,当我尝试使用像apikitchen.com这样的Web应用程序来testingHTTP Post request的信息时,它将工作,当我把用户名和密码在param字段。 所以真的我的问题是,为什么AFN 2.0 parameter […]

iOS应用程序 – 体系结构/示例,用于使CoreData与Web服务同步

我正在寻找一个示例应用程序或更多的架构讨论来构build一个应用程序,该应用程序维护一个本地持久性存储(CoreData),并保持与Flickr等Web服务同步。 在我的情况下,它是Salesforce,但该模式应该类似于Flickr,Twitter,IMAP等许多应用程序。 示例问题:调用同步的最佳点在哪里? 什么是经过validation的数据结构,以维持本地变化 – 维持本地商店中“每改变一次”BOOL, 我宁愿一个字段级别标志对logging级别标志)? 当然,我必须自己来优化这个,知道logging数量(100)和变化(每天10个)以及冲突的可能性(在我的情况下在现场级别低)。

NSURLConnection – 禁用身份validation质询响应机制

情况 使用AFNetworking(NSURLConnection)来访问我的服务器API API需要使用令牌作为用户名的基本身份validation 当令牌无效时,API返回HTTP 401 我在任何请求之前设置基本身份validation标头 如果它返回401,我重试像这样: AFHTTPRequestOperation *requestOperation = [MyHTTPClient.sharedClient HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) { processSuccessBlock(operation, responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { processFailureBlock(operation, error); if (operation.response.statusCode == 401) [MyHTTPClient.sharedClient refreshTokenAndRetryOperation:operation success:processSuccessBlock failure:processFailureBlock]; }]; 问题 当服务器返回具有基本authentication质询的HTTP 401时,AFNetworking / NSURLConnection 将两次发送相同的请求 (初始请求,然后应答authentication质询) 但由于上面的代码我自己处理HTTP 401, 这是完全没有必要的 ,我希望它停止自动应答authentication的挑战 我试过了什么 响应cancelAuthenticationChallenge:将发送cancelAuthenticationChallenge:正在中止第二个调用,但它给出错误代码-1012(NSURLErrorUserCancelledAuthentication),而不是401,并掩盖真正的响应 如何禁用身份validation质询响应机制,以便在不调用服务器响应的情况下获得服务器响应两次?

用于Android,iPhone等的.NET Web服务格式/协议的build议集成

我正在为ASP.NET MVC 3网站构build一个Web服务。 理想情况下,我希望所有的客户端(我的网页,iPhone应用程序,Android应用程序,Windows Phone 7应用程序等)使用相同的服务层来加载和保存数据。 我是移动开发新手,想知道是否有一个首选的机制 – SOAP / JSON /等 – 使用异构移动设备设置。 具体来说,我想知道如果Android和iOS有更好的库/支持一个协议,或者主要的移动平台有强大的支持所有协议。 我也想知道是否所有的都是保证上述服务。 任何意见将不胜感激 谢谢 J.P

在iPhone和Mac之间进行通信

我打算创build一个应用程序,从iPhone获取数据并将其发送到Mac上的另一个应用程序。 陀螺仪的数据也将被发送。 我假设这应该最好通过蓝牙连接完成。 任何人都可以请给我一些关于如何构build应用程序的信息,或者如果可能的话?

使用AFNetworking重置基本authentication凭证

我正在编写一个REST客户端(使用AFNetworking),并且需要在应用程序的单个实例中触发创build新会话的function。 换句话说,我想: 1 – 与服务器进行身份validation 2 – 做一些REST呼叫 3 – 模拟“注销” 4 – 重新validation与服务器 5 – 做更多的REST电话 AFNetworking非常适合初始身份validation和REST调用,但我无法弄清楚如何清除会话并在同一个实例中“重置”连接。 当我使用ASIHTTP时,我只是这样做了: [ASIHTTPRequest clearSession]; 有没有办法做类似的AFNetworking?