Upload
Download free for 30 days
Login
Submit Search
Frameworkについて
0 likes
536 views
幸雄 村上
関東第63回Cocoa勉強会 iOS向けのフレームワーク化に挑戦
Technology
Education
Read more
1 of 17
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
More Related Content
PDF
リソースモデリングパターンの提案 #sendagayarb
Toru Kawamura
PPTX
D8でコンテンツをレイアウトする手法について
Kenji Shirane
PDF
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
Kenji Shirane
PPTX
Drupalテーマとthemingの基礎
Kenji Shirane
PPTX
CMSMix Sapporo vol.3 (Drupal の回)
Kenji Shirane
PPTX
Drupal勉強会@さっぽろ/おたる ご紹介
Kenji Shirane
PPTX
Defining and creating quality webinars mitchell levy - marketing camp
Paul Wcislo
PDF
SVGorumMktgSIG Collaborative Economy Jeremiah Owyang
Paul Wcislo
リソースモデリングパターンの提案 #sendagayarb
Toru Kawamura
D8でコンテンツをレイアウトする手法について
Kenji Shirane
Drupal、group、quiz、webformを利用したeラーニングサイト「sqt」
Kenji Shirane
Drupalテーマとthemingの基礎
Kenji Shirane
CMSMix Sapporo vol.3 (Drupal の回)
Kenji Shirane
Drupal勉強会@さっぽろ/おたる ご紹介
Kenji Shirane
Defining and creating quality webinars mitchell levy - marketing camp
Paul Wcislo
SVGorumMktgSIG Collaborative Economy Jeremiah Owyang
Paul Wcislo
More from 幸雄 村上
(20)
PDF
アプリケーション識別子.pdf
幸雄 村上
PDF
圧縮ネイティブ・ライブラリについて.pdf
幸雄 村上
PDF
分散環境におけるジャストインタイム設定の試み
幸雄 村上
PDF
SwiftのOptionalを理解する
幸雄 村上
PDF
え!それって参照渡し?
幸雄 村上
PDF
プライバシーとセキュリティ(リモート通知のデバイストークンの扱いなど)
幸雄 村上
PDF
AppleScriptなど
幸雄 村上
PDF
MojaveのDark Mode
幸雄 村上
PDF
AppleScriptとは何ぞや
幸雄 村上
PDF
Web API 通信の符号化について
幸雄 村上
PPTX
Master-Detail App を実装する
幸雄 村上
PPTX
SwiftのOptionalを理解する
幸雄 村上
PPTX
Getting a packet trace
幸雄 村上
PPTX
The Bash in Tokyo : AppKitとUIKit
幸雄 村上
PPTX
RUDP
幸雄 村上
PPTX
Swiftでブロックチェーンを実装する
幸雄 村上
PPTX
ゲームの企画書づくりに挑戦
幸雄 村上
PPTX
IBM Watson Services for Core ML
幸雄 村上
PPTX
独自Documentクラス
幸雄 村上
PPTX
独自Documentクラス
幸雄 村上
アプリケーション識別子.pdf
幸雄 村上
圧縮ネイティブ・ライブラリについて.pdf
幸雄 村上
分散環境におけるジャストインタイム設定の試み
幸雄 村上
SwiftのOptionalを理解する
幸雄 村上
え!それって参照渡し?
幸雄 村上
プライバシーとセキュリティ(リモート通知のデバイストークンの扱いなど)
幸雄 村上
AppleScriptなど
幸雄 村上
MojaveのDark Mode
幸雄 村上
AppleScriptとは何ぞや
幸雄 村上
Web API 通信の符号化について
幸雄 村上
Master-Detail App を実装する
幸雄 村上
SwiftのOptionalを理解する
幸雄 村上
Getting a packet trace
幸雄 村上
The Bash in Tokyo : AppKitとUIKit
幸雄 村上
RUDP
幸雄 村上
Swiftでブロックチェーンを実装する
幸雄 村上
ゲームの企画書づくりに挑戦
幸雄 村上
IBM Watson Services for Core ML
幸雄 村上
独自Documentクラス
幸雄 村上
独自Documentクラス
幸雄 村上
Ad
Frameworkについて
1.
Frameworkについて Bitz Co., Ltd.
村上幸雄 ! 2013/12/7
2.
• 村上幸雄 • @m_yukio • ビッツ有限会社 http://www.bitz.co.jp/!
3.
本日の内容 ✤ Frameworkについて! ✤ SimpleChartについて! ✤ SimpleChartのFramework化
4.
Frameworkについて
5.
✤ ライブラリとヘッダーファイル、リソース、ドキュメントをパッ ケージ化できて、利用者の取り扱いが楽になる。! ✤ ライブラリが利用している他のライブラリを自身のライブラ リに含めたくない場合に便利。
6.
最も簡単なフレームワークのディレクトリ構成 MyFramework.framework/ Frameworks - Versions/Current/Frameworks Headers - Versions/Current/Headers MyFramework
- Versions/Current/MyFramework Resources - Versions/Current/Resources Versions/ A/ Frameworks/ OtherFramework.framework Headers/ MyHeader.h MyFramework Resources/ English.lproj/ Documentation InfoPlist.strings Info.plist Current - A !
7.
SimpleChartについて
8.
S7GraphView ! http://code.google.com/p/s7graphview/ ! 残念ながらサイトは閉鎖されている
9.
SimpleChart ! https://github.com/murakami/SimpleChart ! ソースファイルはヘッダを含めて2個のため、ソース ファイルをプロジェクトに追加して利用を想定。
10.
SimpleChartのFramework化
11.
プロジェクトの生成
12.
プロジェクトのディレクトリ構成
13.
Info.plist !
14.
フレームワーク用ターゲット Aggregate !
15.
スクリプトを追加
16.
#!/bin/sh! ! # ==============================! # 変数設定! #
==============================! #FRAMEWORK_NAME=$(/usr/libexec/PlistBuddy -c Print CFBundleName ${INFOPLIST})! FRAMEWORK_NAME='SimpleChart'! INFOPLIST=${FRAMEWORK_NAME}/Resources/Info.plist! BUILD_TARGET_NAME=${FRAMEWORK_NAME}! #FRAMEWORK_BUILD_CONFIGURATION= ${CONFIGURATION}! FRAMEWORK_BUILD_CONFIGURATION=Release! FRAMEWORK_VERSION_NUMBER=$(/usr/libexec/PlistBuddy -c Print CFBundleShortVersionString ${INFOPLIST})! FRAMEWORK_VERSION=A! FRAMEWORK_BUILD_PATH=Framework! FRAMEWORK_DIR=${FRAMEWORK_BUILD_PATH}/${FRAMEWORK_NAME}.framework! PACKAGENAME=${FRAMEWORK_NAME}.${FRAMEWORK_VERSION_NUMBER}.zip! ! # ==============================! # ビルド! # ==============================! echo xcodebuild -configuration ${FRAMEWORK_BUILD_CONFIGURATION} -project ${PROJECT_NAME}.xcodeproj ! -target ${BUILD_TARGET_NAME} clean! xcodebuild -configuration ${FRAMEWORK_BUILD_CONFIGURATION} -project ${PROJECT_NAME}.xcodeproj ! -target ${BUILD_TARGET_NAME} clean! echo xcodebuild -configuration ${FRAMEWORK_BUILD_CONFIGURATION} -project ${PROJECT_NAME}.xcodeproj ! -target ${BUILD_TARGET_NAME} -sdk iphonesimulator${IPHONEOS_DEPLOYMENT_TARGET}! xcodebuild -configuration ${FRAMEWORK_BUILD_CONFIGURATION} -project ${PROJECT_NAME}.xcodeproj ! -target ${BUILD_TARGET_NAME} -sdk iphonesimulator${IPHONEOS_DEPLOYMENT_TARGET}! [ $? != 0 ] exit 1! echo xcodebuild -configuration ${FRAMEWORK_BUILD_CONFIGURATION} -project ${PROJECT_NAME}.xcodeproj ! -target ${BUILD_TARGET_NAME} -sdk iphoneos${IPHONEOS_DEPLOYMENT_TARGET}! xcodebuild -configuration ${FRAMEWORK_BUILD_CONFIGURATION} -project ${PROJECT_NAME}.xcodeproj ! -target ${BUILD_TARGET_NAME} -sdk iphoneos${IPHONEOS_DEPLOYMENT_TARGET}! [ $? != 0 ] exit 1 ! 実機分とシミュレータ 分
17.
# ==============================! # ディレクトリ作成! #
==============================! [ -d ${FRAMEWORK_BUILD_PATH} ] rm -rf ${FRAMEWORK_BUILD_PATH}! mkdir -p ${FRAMEWORK_DIR}! mkdir -p ${FRAMEWORK_DIR}/Versions! mkdir -p ${FRAMEWORK_DIR}/Versions/${FRAMEWORK_VERSION}! mkdir -p ${FRAMEWORK_DIR}/Versions/${FRAMEWORK_VERSION}/Resources! mkdir -p ${FRAMEWORK_DIR}/Versions/${FRAMEWORK_VERSION}/Headers! ln -s ${FRAMEWORK_VERSION} ${FRAMEWORK_DIR}/Versions/Current! ln -s Versions/Current/Headers ${FRAMEWORK_DIR}/Headers! ln -s Versions/Current/Resources ${FRAMEWORK_DIR}/Resources! ln -s Versions/Current/${FRAMEWORK_NAME} ${FRAMEWORK_DIR}/${FRAMEWORK_NAME}! ! # ==============================! # framework作成! # ==============================! lipo -create ! build/${FRAMEWORK_BUILD_CONFIGURATION}-iphoneos/lib${FRAMEWORK_NAME}.a ! build/${FRAMEWORK_BUILD_CONFIGURATION}-iphonesimulator/lib${FRAMEWORK_NAME}.a ! -o ${FRAMEWORK_DIR}/Versions/Current/${FRAMEWORK_NAME}! 実機とシミュレータの 統合 ! ! cp -Rf ${BUILD_TARGET_NAME}/Headers/* ${FRAMEWORK_DIR}/Headers/! cp ${BUILD_TARGET_NAME}/Resources/* ${FRAMEWORK_DIR}/Resources/! cp ${INFOPLIST} ${FRAMEWORK_DIR}/Resources/! cd ${FRAMEWORK_BUILD_PATH}! chmod -fR 777 ${FRAMEWORK_NAME}.framework! zip -ry ${PACKAGENAME} $(basename $FRAMEWORK_DIR)! ! # End Of File ヘッダーとリソースの 配置
Download