Подтвердить что ты не робот

Изображения из 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;
}
4b9b3361

Ответ 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