carthage git early EOF, index-pack failed

remote: Enumerating objects: 1265, done.
remote: Counting objects: 100% (1265/1265), done.
remote: Compressing objects: 100% (1003/1003), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

$git config –global core.compression 0

[Tip] Swift -> Protocol Conditional Extension

protocol MyProtocol {


extension MyProtocol where Self: ImmutableMappable {
static func createObject() -> [Self]  {
var items = [Self]()
var json: [String: Any] = [“greeting”: “hello world”]
let item = self.init(JSON: json)

return items


[Tip] go2shell install


  1. Press Command+Space and type Terminal and press enter/return key.
  2. Run in Terminal app:
    ruby -e "$(curl -fsSL" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null
    and press enter/return key.
    If the screen prompts you to enter a password, please enter your Mac’s user password to continue. When you type the password, it won’t be displayed on screen, but the system would accept it. So just type your password and press ENTER/RETURN key. Then wait for the command to finish.
  3. Run:
    brew cask install go2shell



[Tip][iOS] Xcode 메모리 릭 탐지

객체가 메모리에서 해제 되기를 기대하는 시점에서 Xcode 하단 (debug area)에 있는 Debug Memory Graph 버튼을 누르면 memory graph를 graph 형태로 볼 수 있다.


Xcode > 하단 > Debug Memory Graph


내가 만든 객체를 어떤 객체가 참조하고 있는지 시각적으로 보여준다.

Graph를 마우스로 클릭하면 우측 Inspector 에서 객체 정보와, 어떤 함수에서 발생 했는지 자세히 알려준다. call_stack (backtrace)

만약 보이지 않는다면 빌드 & Run 전에 scheme > edit > Diagnostics > Memory Management 에 항목을 추가해야 한다.