Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Secrets of launch arguments (iOS)
Search
Kishikawa Katsumi
January 15, 2014
Programming
14k
16
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Secrets of launch arguments (iOS)
Tips of launch arguments for iOS development.
Kishikawa Katsumi
January 15, 2014
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
160
Running Swift without an OS
kishikawakatsumi
0
980
浮動小数の比較について
kishikawakatsumi
0
600
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
270
愛される翻訳の秘訣
kishikawakatsumi
3
480
Private APIの呼び出し方
kishikawakatsumi
3
1k
iOSでSVG画像を扱う
kishikawakatsumi
0
250
Build your own WebP codec in Swift
kishikawakatsumi
2
2.7k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
330
Other Decks in Programming
See All in Programming
メールのエイリアス機能を履き違えない
isshinfunada
0
250
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
140
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
570
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
170
VibeCodingからAgenticWorkflowへ
starfish719
0
730
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
140
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
FDEが実現するAI駆動経営の現在地
gonta
2
290
プロポーザルを書いてもらう
pvcresin
0
570
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Building Applications with DynamoDB
mza
96
7.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
How GitHub (no longer) Works
holman
316
150k
Chasing Engaging Ingredients in Design
codingconduct
0
280
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
500
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Transcript
4FDSFUTPGMBVODIBSHVNFOUT J04
None
#import <UIKit/UIKit.h> ! #import "AppDelegate.h" ! int main(int argc, char
* argv[]) { @autoreleasepool { return UIApplicationMain( argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
int main(int argc, char * argv[]) w BSHDDPOUBJOTUIFOVNCFSPGBSHVNFOUT w BSHWJTBBSSBZPGBSHVNFOUT
int main(int argc, char * argv[]) { @autoreleasepool { for
(int count = 0; count < argc; count++) { NSLog(@"argv[%d] = %s", count, argv[count]); } ! return UIApplicationMain( argc, argv, nil, NSStringFromClass([AppDelegate class])); } } => argv[0] = /Users/kishikawakatsumi/Library/Application Support/iPhone Simulator/7.0.3-64/Applications/ 55179656-7577-4C46-AE05-6D83E25EC2CD/Arguments.app/Arguments argv[1] = foo argv[2] = bar
/41SPDFTT*OGP
- (void)viewDidLoad { [super viewDidLoad]; NSProcessInfo *processInfo = [NSProcessInfo processInfo];
! NSLog(@"%@", processInfo.arguments); } => ( "/Users/kishikawakatsumi/Library/Application Support/iPhone Simulator/7.0.3-64/Applications/55179656-7577-4C46- AE05-6D83E25EC2CD/Arguments.app/Arguments", foo, bar )
/46TFS%FGBVMUT
$POWFOUJPOT LFZWBMVFLFZ5XPXPSE w BLFZTUBSUTXJUI w 2VPUFWBMVFTJGNPSFUIBOPOFXPSET
None
- (void)viewDidLoad { [super viewDidLoad]; NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%@", [userDefaults stringForKey:@"foo"]); NSLog(@"%@", [userDefaults stringForKey:@"baz"]); } => bar qux quux
None
- (void)viewDidLoad { [super viewDidLoad]; NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%d", [userDefaults boolForKey:@"boolArg"]); NSLog(@"%d", [userDefaults integerForKey:@"intArg"]); NSLog(@"%f", [userDefaults floatForKey:@"floatArg"]); NSLog(@"%@", [userDefaults stringForKey:@"stringArg"]); } => 1 18 3.141590 foo bar
$BOQBTTNPSFDPNQMFY EBUBUZQFT
"SSBZ BSSBZ"SH GPP CBS CB[
None
- (void)viewDidLoad { [super viewDidLoad]; NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%@", [userDefaults objectForKey:@"arrayArg"]); } => ( foo, bar, baz )
%JDUJPOBSZ EJDU"SH\GPPCBSCB[RVY^ => { baz = qux; foo = bar;
}
1MJTUGPSNBU \GPPCBSCB[RVY^ GPP CBS CB[ "SSBZ %JDUJPOBSZ
.PSFDPNQMFYFYBNQMF QMJTU"SH\GPPCBSBSSBZ GPP \CBSCB[^ ^ => { array = (
foo, { bar = baz; } ); foo = bar; }
9.-QMJTUGPSNBU YNM"SHlEJDULFZGPPLFZTUSJOHCBS TUSJOHLFZCB[LFZTUSJOHRVYTUSJOHEJDU => { baz = qux; foo =
bar; }
5IFNBHJDUSJDLPG b"QQMF-BOHVBHFT FT ` IUUQOTIJQTUFSDPNMBVODIBSHVNFOUTBOEFOWJSPONFOUWBSJBCMFT
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSLog(@"%@", [userDefaults dictionaryRepresentation]); => {
... ! AppleLanguages = ( ja, en, fr, ... ); ! ... ! }
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSLog(@"%@", [userDefaults dictionaryRepresentation]); => {
... ! AppleLanguages = ( es ); ! ... ! } b"QQMF-BOHVBHFT FT `NFBOT PWFSSJEJOH/46TFS%FGBVMUTUFNQPSBSJMZ b FT `JTBSSBZPGMBOHVBHFDPEFT