처음으로 iOS 라이브러리를 공개해보고 그 소개와 CocoaPods에 xib 파일이나 이미지를 포함하는 방법에 대해

소개



안녕하세요.
요 전날 CocoaPods가 iOS 라이브러리를 게시했습니다.
코드의 내용도 심플하고 매우 간단하지만 작성해보고 즐거웠습니다.
이 자리를 빌려서, CocoaPods 공개시의 고민한 점이나 라이브러리의 소개를 시키고 싶습니다.

SimpleConsoleView



Installation
use_frameworks!

pod "SimpleConsoleView"

GitHub
htps : // 기주 b. 코 m / 키 쿠라 게 짱 / 시 mp ぇ



ViewController에서 다음과 같이 print로하면
화면 하단에 출력을 볼 수 있는 View가 표시됩니다.


코드
설명


SCprintln(_:)
at new line

SCprint(_:)
no line break


또한 기기를 흔들면 이 보기가 숨겨집니다.

사용소?



공부용으로 만드는 것 같은 「샘플 앱」이나 앱 측에서 출력을 보고 싶을 때 등에 사용할 수 있을까 생각하고 있습니다...

고민한 곳에 대해



커스터마이즈성 등에서 고유한 이미지 등을 포함하는 것은
별로 좋지 않을지도 모르지만,
내가 만든 것에는 "xib 파일"과 "이미지"가 포함되었습니다.
그 경우의 podspec의 쓰는 방법과 디렉토리등에 대해서 써 보고 싶습니다.pod lib create 했을 때에 작성되는 디렉토리 구성은 이런 느낌입니다
SimpleConsoleView
    ├── Example                      // サンプルプロジェクトが入っているディレクトリ
    ├── LICENSE                      // ライセンスについて記述してあるファイル
    ├── README.md                    
    ├── SimpleConsoleView            // _Pods.xcodeprojのプロジェクトファイル
    ├── SimpleConsoleView.podspec
    └── _Pods.xcodeproj              // 自動生成された.xcodeproj

도서관으로 만든 프로젝트가 이미 있었기 때문에
자동 생성된 _Pods.xcodeproj와 프로젝트 파일 SimpleConsoleView를 대체했습니다.
SimpleConsoleView
    ├── Example
    ├── LICENSE
    ├── README.md
    ├── SimpleConsoleView            <-- 置き換え
    ├── SimpleConsoleView.podspec    
    └── SimpleConsoleView.xcodeproj  <-- 置き換え

디렉토리 구성



대체한 프로젝트의 내용을 보고 있습니다. 구성은 이런 식으로 만들었습니다.
SimpleConsoleView
    ├── SimpleConsoleView
    |   ├── AppDelegate.swift
    |   ├── Assets                  //ここにxibやxcassetsを入れています
    |   ├── Base.lproj
    |   ├── Classes                 //ここに.swiftファイルを入れています
    |   ├── Controllers             //動作確認のためのStoryboardやViewController.swiftを入れています
    |   └── Info.plist
    └──SimpleConsoleView.xcodeproj

podspec



podspec은 다음과 같이 썼습니다. (일부 발췌)
# ここにソースファイルのパスを書いています
s.source_files = 'SimpleConsoleView/Classes/**/*.swift'
# ここにxibやxcassetsのパスを書いています
s.resource_bundles = {
    'SimpleConsoleView' => ['SimpleConsoleView/Assets/*.xib','SimpleConsoleView/Assets/*.xcassets']
  }

코드에서 xib 및 이미지 파일 호출 (Bundle을 통해?)



xib 파일
let pod = Bundle(for: self.classForCoder)
let path = pod.path(forResource: "SimpleConsoleView", ofType: "bundle")!
let bundle = Bundle(path: path)
let view = UINib(nibName: "SimpleConsoleView", bundle: bundle).instantiate(withOwner: self, options: nil).first as! UIView

이미지 파일 (xcassets)

DotImageView.swift
let dotImage = UIImage(named: "dot", in: Bundle(for: DotImageView.self), compatibleWith: nil)

사이고에게



나는 iOS 초보자로, Bundle 등 모르는 채 이용하고 있는 부분이 많아,
또, 이번에 작성한 라이브러리도 여러가지 문제를 안고 있습니다.
  • ViewController에 이 View를 올려 화면 천이를 하면, 다음의 ViewController로 어떠한 SCprint를 기술하지 않으면 재표시되지 않는 것(SCprint("")과 공문자를 표시시키면 재표시할 수 있습니다만... )
  • 셰이크하면 숨길 수 있지만 화면 전환시이 뷰를 터치하거나 SCprint를 작성하지 않으면 포커스가 맞지 않고 셰이크 액션을받을 수 없습니다.
  • 이 View에 표시되는 캐릭터 라인의 제한을 마련하지 않기 때문에, 수천 행 등의 표시를 견딜 수없는 일
  • 기타 Find 기능 등이나 가로 화면에 대응하지 않는 것

  • 등등 열거하면 가득했습니다 ...
    앞으로도 공부를 계속해서 노력해 보고 싶습니다.

    참고로 한 기사



    CocoaPods 공개 정보

    CocoaPods에 자작 라이브러리 등록 Qiita

    CocoaPods에 라이브러리 업로드 및 참고 사항 Qiita

    cocoaPods의 Bundle 정보

    Load assets from bundle resources in Cocoapods

    봐 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기