我有一个PFQueryCollectionViewController
填充图像,一切都在iOS 8.x.x及以下版本正常工作,但当我使用Xcode 7 Beta在iOS 9上运行应用程序时,所有图像都是空白的。
这是我用来从PFQueryCollectionViewController
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
UIImageView *imageView = (UIImageView*)[cell viewWithTag:1];
if([object objectForKey:@"image"] != NULL) {
[[object objectForKey:@"image"] getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
UIImage *thumbnailImage = [UIImage imageWithData:imageData];
UIImageView *thumbnailImageView = [[UIImageView alloc] initWithImage:thumbnailImage];
imageView.image = thumbnailImageView.image;
}];
}
return cell;
}
和
- (PFQuery *)queryForCollection {
PFQuery *query = [PFQuery queryWithClassName:@"Class"];
...
return query;
}
答案 0 :(得分:10)
这可能是由于iOS 9的SSL要求。由于Parse没有将HTTPS用于文件,因此无法正确下载。设置info.plist以包含这样的密钥,这会关闭SSL要求......当然需要您自担风险:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>files.parsetfss.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
答案 1 :(得分:2)
在相应目标的构建设置中找到启用bitcode 并将其设置为否
答案 2 :(得分:0)
@ akaru的回答很有效。您可以使用this技巧加载解析https
上的图片,而不是添加例外。基本上它意味着用http://
替换https://s3.amazonaws.com/
。像这个例子:
Http:http://files.parsetfss.com/b05.../tfss-fa8-e541-...-jpg
Https:https://s3.amazonaws.com/files.parsetfss.com/b05.../tfss-fa8-e541-...-jpg