Изображения из Parse Not Loading On iOS 9
У меня есть PFQueryCollectionViewController
, заполненный изображениями, все отлично работает на iOS 8.x.x и ниже, но когда я запускаю приложение на iOS 9 с помощью Xcode 7 Beta, все изображения пустые.
Здесь код, который я использую для загрузки изображений из Parse в 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;
}
Ответы
Ответ 1
Это, вероятно, связано с требованиями SSL с iOS 9. Поскольку 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>
Ответ 2
Найти Включить биткод в настройках сборки в соответствующем целевом объекте и установить его в НЕТ
Ответ 3
Ответ @akaru отлично работает. Вместо добавления исключения вы можете использовать этот трюк для загрузки изображений разбора над 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