W Xcode 5.0.2 mam bardzo prosta aplikacja z jednym widokiem z widokiem obrazu - który ładuje i wyświetla 1 obraz za pomocą JMImageCache.
Działa to dobrze i zostało osiągnięte (z życzliwa pomoc Otrzymałem tutaj w Stackoverflow), kopiując 4 pliki (JMImageCache.[mh]
i UIImageView+JMImageCache.[mh]
) do mojego projektu Xcode.
Teraz ja (nowicjusz w programowaniu na iOS) odkryłem CocoaPods i chciałbym go zamiast tego używać.
Więc ponownie usunąłem te 4 pliki i zamiast tego utworzyłem następujące Podfile:
platform :ios, "5.0"
pod "JMImageCache"
Następnie pobiegłem:
# pod install
Analyzing dependencies
Downloading dependencies
Installing JMImageCache (0.4.0)
Generating Pods project
Integrating client project
[!] From now on use `jmImage.xcworkspace`.
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
i otworzyłem jmImage.xcworkspace w Xcode.
Niestety teraz pojawia się błąd (tutaj pełnowymiarowy zrzut ekranu) o nie znalezieniu selektora:
Czy ktoś wie, jak to naprawić?
Odpowiedzi:
1 dla odpowiedzi № 1W ustawieniach kompilacji wyszukaj
Inne flagi linków
Następnie dodaj
-ObjC
-all_load
Czasami odwoływanie się do metod kategorii z platform innych firm nie działa. Podejrzewam, że może to być twój problem.
0 dla odpowiedzi nr 2
Rozwiązałem problem: dłuższa metoda
[_imageView setImageWithURL:[NSURL URLWithString:kAvatar]
key:nil
placeholder:[UIImage imageNamed:@"male.png"]
completionBlock:nil
failureBlock:nil];
, którego próbowałem użyć, jest dostępny w bieżącej wersji JMImageCache, ale nie jest dostępny w JMImageCache 0.4.0 dostarczanym przez CocoaPods.
Przerzuciłem się na krótsza wersja a teraz mój projekt się kompiluje:
[_imageView setImageWithURL:[NSURL URLWithString:kAvatar]
placeholder:[UIImage imageNamed:@"male.png"]];