iOS9에서 SDWebImage(Xcode7) 사용

5695 단어 XcodeSwiftiOS

SDWebImage


https://github.com/rs/SDWebImage
SDWebImage라는 라이브러리가 있습니다.cocoapods에서 가져올 수 있습니다
iOS 개발에서 사용 가능
imageView.sd_setImageWithURL(NSURL(string: "https://pbs.twimg.com/profile_images/648801531702083584/nqCFf1AY.png"))
이렇게 쓰기만 하면 비동기식 다운로드와 캐시를 할 수 있습니다!캐시 기간도 설정할 수 있어 편리합니다.
하지만 Xcode7 이후에는 움직이지 않습니다(그림을 표시하지 않음)...원인이 무엇이라고 생각한다면 Xcode가 아니라 iOS9의 ATS입니다...(자세한 상황 후술)

install


코코아팟을 설치하지 않았을 때 깨끗한 MacOSX10.11을 위한 개발 환경 코코아팟을 설치하세요!
보통 코코아팟을 써요.
Podfile
platform :ios, '8.0'
use_frameworks!

pod 'SDWebImage'
pod install 하면 돼요.
참고로 use_frameworks!、이렇게 되면 swift용 뜻이 되어 ver0.36 이전에 필요한 다리 파일을 기술할 필요가 없다
참조 → Swift 지원 CocoaPods 사용

iOS9의 간단한 사용 방법


나는 다른 사이트에 SDWebImage의 상세한 사용 방법이 매우 많다고 생각해서 나는 사랑을 끊었다.
sample -> https://github.com/ha1fha1f/SDWebImageTest
위의git에 샘플 항목 배치(Xcode7.1)
iOS9에서 움직이지 않는 이유는 ATS이기 때문에 먼저 움직이려면 ATS를 끊으면 돼요.
즉, 특정 도메인 ATS에 대한 주문 해제

이것은 Info입니다.plist에 쓰면 돼요.
pbs.twimg.com의 곳, 그림을 얻고 싶은 곳에 놓으세요.
다음 내용을 xml로 설명하는 것이 더 빠를 수 있습니다.
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <false/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>(ドメイン名)</key>
            <dict>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>
이것은 무리지만 iOS9에서도 SDWebImage를 사용할 수 있습니다
ViewController 코드는 SDWebImageUIIMageView가 extension으로 구현됨
class ViewController: UIViewController {
    var imageView: UIImageView! = nil

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        if imageView == nil {
            imageView = UIImageView(frame: self.view.frame)
            imageView.backgroundColor = UIColor.blueColor()
            imageView.sd_setImageWithURL(NSURL(string: "https://pbs.twimg.com/profile_images/648801531702083584/nqCFf1AY.png"))
            imageView.contentMode = UIViewContentMode.ScaleAspectFit
            self.view.addSubview(imageView)
        }
    }
}
이렇게 하면 돼요.
간단하네!

좋은 웹페이지 즐겨찾기