{"id":32146760,"url":"https://github.com/codeeagle/rocketboot","last_synced_at":"2026-02-18T22:01:28.443Z","repository":{"id":63907004,"uuid":"94737312","full_name":"CodeEagle/RocketBoot","owner":"CodeEagle","description":"Speed up you app's launching when you using Carthage or Punic to manager your Third-Party frameworks","archived":false,"fork":false,"pushed_at":"2018-01-07T12:12:26.000Z","size":7029,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-30T11:49:06.514Z","etag":null,"topics":["carthage","cocoa-animono","punic"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodeEagle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-19T04:44:56.000Z","updated_at":"2018-02-05T02:18:22.000Z","dependencies_parsed_at":"2022-11-28T22:52:06.050Z","dependency_job_id":null,"html_url":"https://github.com/CodeEagle/RocketBoot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CodeEagle/RocketBoot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FRocketBoot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FRocketBoot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FRocketBoot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FRocketBoot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeEagle","download_url":"https://codeload.github.com/CodeEagle/RocketBoot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeEagle%2FRocketBoot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29596329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T20:59:56.587Z","status":"ssl_error","status_checked_at":"2026-02-18T20:58:41.434Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carthage","cocoa-animono","punic"],"created_at":"2025-10-21T08:25:53.208Z","updated_at":"2026-02-18T22:01:28.431Z","avatar_url":"https://github.com/CodeEagle.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RocketBoot\nSpeed up you app's launching when you using Carthage or Punic to manager your Third-Party frameworks\n\n# what is it?\nMove all dynamic frameworks symbols into the main executable for [Carthage](https://github.com/Carthage/Carthage) and [Punic](https://github.com/schwa/punic), like [cocoapods-amimono](https://github.com/Ruenzuo/cocoapods-amimono) for cocoapods\n\n# Requirements\n`Swift 4`\n# RocketBoot.yaml\n```\ntool: punic # carthage or punic, default is punic\nxcode9: true # true or false, default is true\nrepos:\n  #  xcodeproj Name; Scheme Name; Optional Tag, if using carthage and not setting tag, will using the latest tag build;\n  # - [ Alamofire, Alamofire iOS ] or - [ Alamofire, Alamofire iOS, 4.0.0 ]\n```\n# Installtion\n\n```\ngit clone git@github.com:CodeEagle/RocketBoot.git\ncd RocketBoot \u0026\u0026 make install\n```\n\n# Usage\nwhen done running  `rocketboot`,  a folder  `RocketBoot` is generated\n\nIntegrated  `RocketBoot/RocketBoot.xcconfig`  to your project\n\n# Tests\n```\n  make test\n```\n# ⚠️\n\nThis program not copying any resources from sub frameworks, such as `*.storyboard`, `*.bundle`, `*.assets`, need manual handle resources copying\n\n__This program is not working for dynamic framework that contains a static library __\n\n__You'd better not copying any `*.assets` from your sub frameworks to your main project__, because it will making your main project's launching.xib not showing image.\n\n_workaround_\n\nWrap all your framework's resources into  `*.bundle`  and just copy it to main project will work fine\n\n\n[Cocoapods copy resources script](https://github.com/CocoaPods/CocoaPods/blob/ad59b03dfe7def01f541634e6ce9b46edb989b19/lib/cocoapods/generator/copy_resources_script.rb#L97)\n\nexample\n```\n#!/bin/sh\nset -e\nCARTHAGE_CHECKOUT_ROOT=${SRCROOT}/Carthage/Checkouts\nCARTHAGE_BUILD_ROOT=${SRCROOT}/Carthage/Build/iOS\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nRESOURCES_TO_COPY=${SRCROOT}/Scripts/resources-to-copy-${TARGETNAME}.txt\n\u003e \"$RESOURCES_TO_COPY\"\n\nXCASSET_FILES=()\n\ncase \"${TARGETED_DEVICE_FAMILY}\" in\n  1,2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad --target-device iphone\"\n    ;;\n  1)\n    TARGET_DEVICE_ARGS=\"--target-device iphone\"\n    ;;\n  2)\n    TARGET_DEVICE_ARGS=\"--target-device ipad\"\n    ;;\n  3)\n    TARGET_DEVICE_ARGS=\"--target-device tv\"\n    ;;\n  4)\n    TARGET_DEVICE_ARGS=\"--target-device watch\"\n    ;;\n  *)\n    TARGET_DEVICE_ARGS=\"--target-device mac\"\n    ;;\nesac\n\ninstall_resource()\n{\n  if [[ \"$1\" = /* ]] ; then\n    RESOURCE_PATH=\"$1\"\n  else\n    RESOURCE_PATH=\"${CARTHAGE_CHECKOUT_ROOT}/$1\"\n  fi\n  if [[ ! -e \"$RESOURCE_PATH\" ]] ; then\n    cat \u003c\u003c EOM\nerror: Resource \"$RESOURCE_PATH\" not found. Run 'pod install' to update the copy resources script.\nEOM\n    exit 1\n  fi\n  case $RESOURCE_PATH in\n    *.storyboard)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\"\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .storyboard`.storyboardc\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.xib)\n      echo \"ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}\"\n      ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \\\"$RESOURCE_PATH\\\" .xib`.nib\" \"$RESOURCE_PATH\" --sdk \"${SDKROOT}\" ${TARGET_DEVICE_ARGS}\n      ;;\n    *.framework)\n      echo \"mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      mkdir -p \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      echo \"rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      rsync -av \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}\"\n      ;;\n    *.xcdatamodel)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\"`.mom\\\"\"\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodel`.mom\"\n      ;;\n    *.xcdatamodeld)\n      echo \"xcrun momc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\\\"\"\n      xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcdatamodeld`.momd\"\n      ;;\n    *.xcmappingmodel)\n      echo \"xcrun mapc \\\"$RESOURCE_PATH\\\" \\\"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\\\"\"\n      xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xcmappingmodel`.cdm\"\n      ;;\n    *.xcassets)\n      ABSOLUTE_XCASSET_FILE=\"$RESOURCE_PATH\"\n      XCASSET_FILES+=(\"$ABSOLUTE_XCASSET_FILE\")\n      ;;\n    *)\n      echo \"$RESOURCE_PATH\" \u003e\u003e \"$RESOURCES_TO_COPY\"\n      ;;\n  esac\n}\nOTHER_BUNDLE=(\"${CARTHAGE_CHECKOUT_ROOT}/TOCropViewController/TOCropViewController/languages.bundle\" \"${CARTHAGE_CHECKOUT_ROOT}/IQKeyboardManager/IQKeyboardManagerSwift/Resources/IQKeyboardManager.bundle\")\nintall_all() {\n    for name in \"${OTHER_BUNDLE[@]}\"\n    do\n        echo \"install_resource $name\"\n        install_resource $name\n    done\n}\n\nintall_all\n\nmkdir -p \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nrsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nif [[ \"${ACTION}\" == \"install\" ]] \u0026\u0026 [[ \"${SKIP_INSTALL}\" == \"NO\" ]]; then\n  mkdir -p \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\n  rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from=\"$RESOURCES_TO_COPY\" / \"${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}\"\nfi\nrm -f \"$RESOURCES_TO_COPY\"\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeeagle%2Frocketboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeeagle%2Frocketboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeeagle%2Frocketboot/lists"}