Swift Playgrounds에서 Xcode project의 코드를 움직여 보자 ~~ CocoaPods ~~
마지막까지의 개요
마지막 : ぃ tp // 코 m / 반자이 / ms / 예 075bd5d651 A5A 24d68
이번은
CocoaPods
를 사용한 프로젝트 때 어떻게 하면 좋을지 설명합니다Swift Playgrounds에서 Xcode project의 코드를 움직여 보자 ~~ CocoaPods ~~
먼저
CocoaPods
를 통해 라이브러리를 Xcode project
에 넣으십시오.뭐든지 좋지만 내가 취미로 만든
Kaeru
라는 라이브러리를 사용하여 소개합니다.과거에
Qiita
하지만 소개한 적이 있습니다GitHub에 대한 링크입니다.
스타주세요
htps : // 기주 b. 코m/반자이/카에루
Podfile
에 추가하여 pod install
target 'ImportPlaygrounds' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Kaeru'
end
...
터미널에서
$ pod install
이제
Pods
디렉토리에 Kaeru
가 추가되었는지 확인할 수 있다면 성공합니다.그런 다음
CocoaPods
에서 추가한 프레임워크를 빌드하고 만들 계획을 만듭니다.Xcode의 왼쪽 상단 대상이 표시되는 막대를 클릭하고
Manage Schemes
를 선택합니다.아래와 같은 화면이 표시됩니다.
ImportPlaygrounds
와 ImportPlaygourndsFramework
의 Show
의 항목에 체크가 되어 있는 것을 확인할 수 있습니다Pods-ImportPlaygrounds
에도 체크를 합시다체크를 하면
Pods-ImportPlaygrounds
의 빌드 타겟이 추가되었다고 생각합니다Pods-ImportPlaygrounds
를 선택하여 빌드합시다.Pods-ImportPlaygrounds
의 빌드가 성공하면 CocoaPods
에서 도입한 라이브러리가 .playground
파일에서 사용할 수 있습니다.playground
파일에 아래 코드를 포함하여 실행 결과를 봅니다.
import UIKit
import ImportPlaygroundsFramework
import PlaygroundSupport
import Kaeru // CocoaPods経由で入っているライブラリをimport
print(HistoryNavigationController.self) // HistoryNavigationController
HistoryNavigationController
는 Kaeru
에 포함된 클래스입니다.이 코드가 성공적으로 실행되면
.playground
에서도 참조 할 수 있다는 것을 알았습니다.UI
의 움직임도 문제가 없는지 확인해 봅시다.이번에는 아래의 코드를
.playground
에 붙여 넣어 실행합니다
import UIKit
import ImportPlaygroundsFramework
import PlaygroundSupport
import Kaeru
let window = UIWindow(frame: UIScreen.main.bounds)
class LoopViewController: UIViewController {
override func loadView() {
view = UIView()
view.backgroundColor = .white
let currentPageLabel = UILabel()
do { // setup currentPageLabel
currentPageLabel.translatesAutoresizingMaskIntoConstraints = false
currentPageLabel.text = "current page: \(navigationController!.viewControllers.count)"
currentPageLabel.sizeToFit()
view.addSubview(currentPageLabel)
currentPageLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
currentPageLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: -100).isActive = true
}
let nextButton = UIButton(type: .custom)
do { // setup next button
nextButton.translatesAutoresizingMaskIntoConstraints = false
nextButton.setTitle("next", for: .normal)
nextButton.setTitleColor(.black, for: .normal)
nextButton.backgroundColor = .orange
view.addSubview(nextButton)
nextButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
nextButton.topAnchor.constraint(equalTo: currentPageLabel.bottomAnchor, constant: 20).isActive = true
nextButton.heightAnchor.constraint(equalToConstant: 240).isActive = true
nextButton.heightAnchor.constraint(equalToConstant: 40).isActive = true
nextButton.addTarget(self, action: #selector(nextButtonPressed), for: .touchUpInside)
}
let showHistoryButton = UIButton(type: .custom)
do { // setup show history button
showHistoryButton.translatesAutoresizingMaskIntoConstraints = false
showHistoryButton.setTitle("show history", for: .normal)
showHistoryButton.setTitleColor(.black, for: .normal)
showHistoryButton.backgroundColor = .brown
view.addSubview(showHistoryButton)
showHistoryButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
showHistoryButton.topAnchor.constraint(equalTo: nextButton.bottomAnchor, constant: 20).isActive = true
showHistoryButton.heightAnchor.constraint(equalToConstant: 240).isActive = true
showHistoryButton.heightAnchor.constraint(equalToConstant: 40).isActive = true
showHistoryButton.addTarget(self, action: #selector(showHistoryButtonPressed), for: .touchUpInside)
}
}
func nextButtonPressed() {
navigationController?.pushViewController(LoopViewController(), animated: true)
}
func showHistoryButtonPressed() {
guard let navigationController = navigationController as? HistoryNavigationController else {
fatalError()
}
navigationController.presentHistory()
}
}
let viewController = LoopViewController()
let navigationController = HistoryNavigationController(rootViewController: viewController)
window.rootViewController = navigationController
window.makeKeyAndVisible()
PlaygroundPage.current.liveView = window
Playgrounds
위의 코드를 실행하고 버튼을 누르십시오.UI
에서도 정상적으로 동작하는 것을 확인할 수 있었다고 생각합니다요약
Swift Playgrounds에서 Xcode project의 코드를 움직여 보자 ~~ CocoaPods ~~
그래서
CocoaPods
의 라이브러리를 사용하고 싶은 경우의 방법을 정리해 보았습니다.외부 라이브러리에 의존하는 화면도
Playgrounds
위에서 확인할 수 있습니다UI
에서도 매번 빌드하고 확인하는 것보다 빠르게 개발할 수 있는 것은 아닐까요.다시 게시하지만
Kaeru
링크를 붙여 둡니다. 스타주세요.htps : // 기주 b. 코m/반자이/카에루
오시마\(^o^)/
Reference
이 문제에 관하여(Swift Playgrounds에서 Xcode project의 코드를 움직여 보자 ~~ CocoaPods ~~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bannzai/items/dafad16067e9c6e58ff7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)