Xcodeのプロパティリストエディタ

2010. 02. 14
グループとファイル』のResourceグループに『info.plist』というプロパティリストファイルがあります。

181

info.plistを選択すると、テキストエディタウィンドウに表形式でプロパティリストが表示されます。

またプロパティリストエディタは単体のアプリケーションとして、Macintosh HD/Developer/Applications/Utilities/Property List Editor.appに存在します。

●info.plist

info.plistは情報プロパティリストというファイルで、アプリケーション名やアイコンなど、アプリケーションの設定情報を含みます。

これらの情報は、Xcodeが自動設定するものと、明示的に設定する必要があるものがあります。

ここでいうバンドルは、画像やテキストなどのファイルを一纏めにした形式を指し、実行ファイルを含めたアプリケーションのファイル群をアプリケーションバンドルと呼びます(多分)。

キーというのがいまいち理解しきれていないのですが、キーと値(Key/Value)の一対でプロパティを表すということのようです。

キー欄上で右クリックかcontrol+クリックでコンテキストメニューを開き、『Show Raw Keys/Values』を選択すると、実際のキーの名前を表示することができます。

Key Value
Localization native
development region
CFBundleDevelopmentRegion en
Bundle display name CFBundleDisplayName HelloWorld
LSRequiresIPhoneOS LSPequiresIPhoneOS [v]
Executable file CFBundleExecutable ${EXECUTABLE_NAME}
Icon file CFBundleIconFile icon.png
Bundle identifier CFBundleIdentifier com.yourcompany.${PRODUCT_NAME:identifier}
InfoDictionary
version
CFBundleInfoDictionaryVersion 6.0
Bundle name CFBundleName ${PRODUCT_NAME}
Bundle OS Type
code
CFBundlePackageType APPL
Bundle creator OS
Type code
CFBundleSignature ????
Bundle version CFBundleVersion 1.7
Main nib file base
name
NSMainNibFile MainWindow

キーの詳細は『Runtime Configuration Guidelines』を参照となっていますが、ポッチンさんが和訳されていましたので、参考にさせていただいてます。
(※2012.11.16追記:後に自力で和訳したものが『ランタイム構成のガイドライン』です)

●Localization native development region(CFBundleDevelopmentRegion)

アプリケーションのデフォルトの言語を指定します。
(日本語環境下で作ってもデフォルトは英語になっているようです)

●Bundle display name(CFBundleDisplayName)

アプリケーションのアイコン下に表示する名前。
他言語対応のアプリケーションの場合は、サポートする全言語についてローカライズします。

●LSRequiresIPhoneOS(LSRequiresIPhoneOS)

バンドルがiPhone OSでのみ実行可能かどうかを示す値で、Xcodeが自動的に追加し、値をtrueに設定します。
変更してはいけません。

●Executable file(CFBundleExecutable)

アプリケーションの実行可能ファイルの名前を設定します。

●Icon file(CFBundleIconFile)

アプリケーションのアイコンファイルを指定します。

●Bundle identifier(CFBundleIdentifier)

システムがアプリケーションを識別するための識別子。
アルファベットとピリオドのみで構成するUTI(Uniform Type Identifier)で、逆DNS形式にしなければなりません。
この文字列はバンドル識別子として割り当てられ、アプリケーションの署名の検証に使用します(App IDの作成で使います)。

●InfoDictionary version(CFBundleInfoDictionaryVersion)

プロパティリスト構造の現在のバージョンを示し、Xcodeにより自動で設定されます。

●Bundle name(CFBundleName)

アプリケーションの短縮名を識別するため、この名前は16文字以下に設定する必要があります。

●Bundle OS Type code(CFBundlePackageType)

バンドルのタイプを示す4文字の識別子で、アプリケーションの場合は『APPL』になります。

●Bundle creator OS Type code(CFBundleSignature)

アプリケーションのクリエータを識別する4文字の識別子で、テキストエディタの場合『ttxt』になる・・・とありますが、それ以外はどうなのかよく分かりません。

●Bundle version(CFBundleVersion)

バンドルのビルドバージョン番号を指定する文字列で、ピリオドで区切られた1個以上の整数で構成されます。

●Main nib file base name(NSMainNibFile)

アプリケーションのメインnibファイルを示す文字列。
デフォルト以外のnibファイルを使う場合は、そのnibファイルに関連付けします。



参考文献

iOSアプリケーションプログラミングガイド

ポッチンルーム/実行時設定ガイドライン

0 CommentsPosted in 資料





Bose QuietComfort 20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
08 | 2017/09 | 10
Sun Mon Tue Wed Thu Fri Sat
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose QuietComfort 20
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR