Programming/iOS
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-iPhone,iPadプログラミングについて
*XCode トラブル [#i9fb5c06]
最悪のIDE。Beta版なみの品質。ファイル消失やクラスを認識し...
-unable to build chain to self-signed root for signerが出...
-信頼されてないデベロッパと出たが、なんとか別マシンで成功
-ファイルを追加しても認識せず、もう一回おんなじ手順で上書...
-ボタンのフォントサイズが変更できない(XCode13 beta1)
-StoryBoardとViewControllerの紐付けがいくらどうやっても出...
*環境切り替え [#f9602e6a]
https://qiita.com/Todate/items/a2e6a26731c79bd23e02#%E3%8...
BuildConfigという仕組みで、内部で#ifで分けることができる...
#if RELEASE
return "https://www.example.co.jp"
#else
return "https://dev.example.co.jp"
#endif
TARGETSでも同じようなことができるのだが、使っているところ...
*ビルド [#m9c8b863]
**ローカルでxcode-build [#k8e473e8]
sudo xcode-select -s '/Applications/Xcode12.app/Contents...
xcode-select -p
xcodebuild -version
xcodebuild -workspace project.xcworkspace -scheme Camera...
-export_methodがapp-storeになってなければ本番にいくことは...
**fastlane [#fd927660]
gym(
scheme: "MyApp",
configuration: "Staging",
export_method: "ad-hoc or development or enterprise...
include_symbols: true,
clean: true,
)
**bitrise (xcode-archive) [#o9cca60b]
*iOS15 [#j64ac7e1]
-Facetimeのzoom化
-LiveText(日本語非対応でGoogle Lensパクリ)
-SafariのUI変更(タブの切り替えやスワイプが画面下部に集約...
-WalletアプリがIDカードや部屋の鍵として使えるように
-iCloudがiCloud+になりプライベートメールアドレス生成機能...
*XCode13 [#b6bc898c]
https://www.hackingwithswift.com/articles/236/whats-new-i...
-Swift5.5(async&awaitの導入、Swift package collections)
-XCode Cloud
-Vim モード導入
-バージョンコントロールとの連携強化(PR作成など)
-Custom documentation with DocC
*Store Kit2 [#f7bf20f8]
-前方互換性をもった新しいSwiftベースのAPI
-アプリ内で返金プロセスを実装できる
*Swift 5.5 [#s12d1329]
https://www.hackingwithswift.com/articles/233/whats-new-i...
-async await
-@MainActor
-#if
*UIKit [#qe0435ca]
|UIActivityViewController|シェアボタンなどで出てくるモー...
|UIButton|通常のボタン|
|UINavigationBar|設定アプリなど改装を持ったナヴィゲーショ...
|UITabBar|時計アプリ|
|UIToolbar|サファリの下部のボタンなどを表示するバー|
|UIBarButtonItem|UIToolbarのボタン|
*用語集 [#w6fe3349]
|ipa|zipファイルで固めたアプリのアーカイブ|
|plist|プロパティのXMLファイル|
|entitlements|package名などが記載されている。pushの設定な...
|SwiftUI|iOS13より利用可能な宣言的UI|
|UIKit|古くから使われているコードベースのUI。Storyboardも...
*配布 [#ff51be88]
**端末の上限 [#m14190e4]
-100デバイスでかつ契約更新時じゃないと登録追加ができない...
**Deploy Gate [#w87e9750]
-テスト用にアプリ配布ページを作成できる(ログイン不要)
-事前にUUIDの登録は必要
-
*Xcode [#p0528664]
*勉強まとめ中 [#h768818e]
-StoryBoardは複数設定できる。Mainであれば設定不要だが、初...
-StoryBoradに複数のViewControllerを入れられる。Is Initial...
*トラブルシューティング [#qfef17cf]
|Editor placeholder in source file|直しても出ていたことが...
|UITableViewControllerがクラッシュ|オブジェクトインスペク...
**必要環境 [#ya02c4b4]
OSの要求バージョンが比較的厳しくて、MacOSリリースされた翌...
**複数バージョン入れる [#j35865d7]
入れた後でXcode_xxみたいに改名するだけっぽい
**ショートカット [#u2541d87]
***Windows領域操作 [#w5b012ff]
左側はCommand+0で非表示。数字で切り替え
右側はOpt+Coomand+0で非表示。数字で切り替え
***日常利用 [#c8aa8f2e]
|ファイルを開く|Cmd+Shift+O|
|選択範囲を整形|Ctrl+I|
**調べる [#n7dc4fa8]
-外部ライブラリの追加(環境変数とか)
-cocoapods
-プロビジョニングプロファイル
-bundler
**用語集 [#x0a9c18d]
|インスペクターペイン|プロパティ編集|
|ライブラリーペイン|フォーム部品|
**ショートカットキー [#k4fcee07]
|Ctrl + i |フォーマット|
|変数状でOption|クイックヒント|
*UI部品 [#x344649d]
|UINavigationBar|設定画面で利用される階層ありのNavi|
|UITabBar|時計で使われるタブBar|
|UIBarButtonItem|一般的にアプリの下部の複数ボタン並べる|
|ImageView|aspectfillで画像の縦横比に合わせる|
*Objective-C [#kc6362d8]
**一行知識 [#h84e1d64]
|#import|<>だと標準ライブラリのディレクトリから検索。""だ...
|ViewController間での値の共有|プロジェクト名Delegateのプ...
|IBOutlet|InterfaceBuilderの部品のプロパティにつける接頭...
|IBAction|イベントプロシージャーのようなもの。|
|XXXAppDelegate.h|Androidで言うところのライフサイクルを管...
|XXXViewController.h|Viewのコントローラー。xibファイルを...
|オブジェクト型の変数|ポインタなので*varNameのように*が必...
**Javaとの比較 [#e2fa3910]
プロパティはJavaと同じ感覚でつかえるけど、メソッドの呼び...
|this.someMethod(arg1, arg2)|[self someMethod:arg1 arg2:a...
|Hoge hoge = new Hoge();|Hoge *hoge = [[Hoge alloc] init];|
|Array|NSArray|
|List|NSMutableArray|
|Map|NSMutableDictionary|
|interface|protocol|
|view.getI()|sender.tag|
|プリファレンス|NSUserDefaults|
***インスタンス変数 [#ceacdd70]
結構混乱したので記述しておく。インスタンス変数は基本priva...
**ARCとは [#j88e3d0c]
参照カウントを自動でやってくれる機構。コンパイル時にソー...
*iOS [#j529f156]
**プロジェクトファイルの構成 [#y1a2abf2]
一つのViewControllerだけのアプリケーションであればシンプ...
**アプリケーションデリゲート [#y8329526]
イベントの通知をうけるメソッドを定義してある。Androidでい...
**複数Viewでの情報共有 [#a27fc3f3]
アプリケーションデリゲートにプロパティを追加する。そのプ...
**TavBarにViewを追加するときの手順 [#e4f54712]
+テンプレートからCoCoaTouchのUIViewControllerのサブクラス...
+タブアイテムを選択し、Identifyでクラスと結びつける。Attr...
**コード内でUI部品の追加 [#e6e48136]
UILabel *label = [[[UILabel alloc] init] autorelease];
[self.view addSubview:label];
*お役立ちリンク集 [#cf517e57]
http://golog.plus.vc/iphone/906/
http://d.hatena.ne.jp/moto_maka/20110425/1303673150
*Xcode4 [#s6de4a5c]
**ナビゲータエリア [#edcf650f]
eclipseのパッケージエクスプローラーの位置にある。通常はフ...
**エディタ [#wa8da91d]
|アシスタントエディターの分割|Viewメニューから選べる。ま...
|アシスタントエディターで開く|Option(Alt) を押しながらク...
|開く場所を選ぶ|Option(Alt)+Shift を押しながらクリックす...
|メソッド定義へ飛ぶ|Command(Windows)を押して、クリックか...
**外部ライブラリ [#d4c9c85f]
frameworkフォルダに依存フレームワークを持ってくる
*書籍情報 [#cc13fcfc]
|書籍名|感想|場所|サポートサイト|
|iOSデバッグ&最適化技法 for iPad/iPhone|入門レベルでは必...
|10日でおぼえる iPhoneアプリ開発入門教室|サンプル、画面キ...
|よくわかるiPhoneアプリ開発の教科書|各パーツの説明は丁寧...
|iPhone/iPad/iPod touch プログラミングバイブル|同じ著者の...
|Xcode4ではじめる Objective-Cプログラミング|ほぼObjective...
|Objective-C 超入門|ほぼObjective-C本。4.2対応|NCC||
*iTunesのバックアップフォルダ移動 [#k6599017]
Cドライブバックアップ先を変更できないというクソ仕様なので...
|バックアップ先|C:\User\ユーザ名\AppData\Roaming\Apple Co...
+新しいバックアップ先を作成し、上記backupディレクトリ毎移動
+以下のコマンドを実施。MybileSyncにbackupディレクトリが存...
mklink /J "C:\User\ユーザ名\AppData\Roaming\Apple Comput...
*iOS開発読み直し [#xe6f4c87]
-OutletはViewをイベントリスナーで操作したいときに必要。
-通常のボタンなどはアクションでViewControllerにひもづける...
基本的にimplementsの代わりに<xxx,yyy>と記述する感じだ。
終了行:
-iPhone,iPadプログラミングについて
*XCode トラブル [#i9fb5c06]
最悪のIDE。Beta版なみの品質。ファイル消失やクラスを認識し...
-unable to build chain to self-signed root for signerが出...
-信頼されてないデベロッパと出たが、なんとか別マシンで成功
-ファイルを追加しても認識せず、もう一回おんなじ手順で上書...
-ボタンのフォントサイズが変更できない(XCode13 beta1)
-StoryBoardとViewControllerの紐付けがいくらどうやっても出...
*環境切り替え [#f9602e6a]
https://qiita.com/Todate/items/a2e6a26731c79bd23e02#%E3%8...
BuildConfigという仕組みで、内部で#ifで分けることができる...
#if RELEASE
return "https://www.example.co.jp"
#else
return "https://dev.example.co.jp"
#endif
TARGETSでも同じようなことができるのだが、使っているところ...
*ビルド [#m9c8b863]
**ローカルでxcode-build [#k8e473e8]
sudo xcode-select -s '/Applications/Xcode12.app/Contents...
xcode-select -p
xcodebuild -version
xcodebuild -workspace project.xcworkspace -scheme Camera...
-export_methodがapp-storeになってなければ本番にいくことは...
**fastlane [#fd927660]
gym(
scheme: "MyApp",
configuration: "Staging",
export_method: "ad-hoc or development or enterprise...
include_symbols: true,
clean: true,
)
**bitrise (xcode-archive) [#o9cca60b]
*iOS15 [#j64ac7e1]
-Facetimeのzoom化
-LiveText(日本語非対応でGoogle Lensパクリ)
-SafariのUI変更(タブの切り替えやスワイプが画面下部に集約...
-WalletアプリがIDカードや部屋の鍵として使えるように
-iCloudがiCloud+になりプライベートメールアドレス生成機能...
*XCode13 [#b6bc898c]
https://www.hackingwithswift.com/articles/236/whats-new-i...
-Swift5.5(async&awaitの導入、Swift package collections)
-XCode Cloud
-Vim モード導入
-バージョンコントロールとの連携強化(PR作成など)
-Custom documentation with DocC
*Store Kit2 [#f7bf20f8]
-前方互換性をもった新しいSwiftベースのAPI
-アプリ内で返金プロセスを実装できる
*Swift 5.5 [#s12d1329]
https://www.hackingwithswift.com/articles/233/whats-new-i...
-async await
-@MainActor
-#if
*UIKit [#qe0435ca]
|UIActivityViewController|シェアボタンなどで出てくるモー...
|UIButton|通常のボタン|
|UINavigationBar|設定アプリなど改装を持ったナヴィゲーショ...
|UITabBar|時計アプリ|
|UIToolbar|サファリの下部のボタンなどを表示するバー|
|UIBarButtonItem|UIToolbarのボタン|
*用語集 [#w6fe3349]
|ipa|zipファイルで固めたアプリのアーカイブ|
|plist|プロパティのXMLファイル|
|entitlements|package名などが記載されている。pushの設定な...
|SwiftUI|iOS13より利用可能な宣言的UI|
|UIKit|古くから使われているコードベースのUI。Storyboardも...
*配布 [#ff51be88]
**端末の上限 [#m14190e4]
-100デバイスでかつ契約更新時じゃないと登録追加ができない...
**Deploy Gate [#w87e9750]
-テスト用にアプリ配布ページを作成できる(ログイン不要)
-事前にUUIDの登録は必要
-
*Xcode [#p0528664]
*勉強まとめ中 [#h768818e]
-StoryBoardは複数設定できる。Mainであれば設定不要だが、初...
-StoryBoradに複数のViewControllerを入れられる。Is Initial...
*トラブルシューティング [#qfef17cf]
|Editor placeholder in source file|直しても出ていたことが...
|UITableViewControllerがクラッシュ|オブジェクトインスペク...
**必要環境 [#ya02c4b4]
OSの要求バージョンが比較的厳しくて、MacOSリリースされた翌...
**複数バージョン入れる [#j35865d7]
入れた後でXcode_xxみたいに改名するだけっぽい
**ショートカット [#u2541d87]
***Windows領域操作 [#w5b012ff]
左側はCommand+0で非表示。数字で切り替え
右側はOpt+Coomand+0で非表示。数字で切り替え
***日常利用 [#c8aa8f2e]
|ファイルを開く|Cmd+Shift+O|
|選択範囲を整形|Ctrl+I|
**調べる [#n7dc4fa8]
-外部ライブラリの追加(環境変数とか)
-cocoapods
-プロビジョニングプロファイル
-bundler
**用語集 [#x0a9c18d]
|インスペクターペイン|プロパティ編集|
|ライブラリーペイン|フォーム部品|
**ショートカットキー [#k4fcee07]
|Ctrl + i |フォーマット|
|変数状でOption|クイックヒント|
*UI部品 [#x344649d]
|UINavigationBar|設定画面で利用される階層ありのNavi|
|UITabBar|時計で使われるタブBar|
|UIBarButtonItem|一般的にアプリの下部の複数ボタン並べる|
|ImageView|aspectfillで画像の縦横比に合わせる|
*Objective-C [#kc6362d8]
**一行知識 [#h84e1d64]
|#import|<>だと標準ライブラリのディレクトリから検索。""だ...
|ViewController間での値の共有|プロジェクト名Delegateのプ...
|IBOutlet|InterfaceBuilderの部品のプロパティにつける接頭...
|IBAction|イベントプロシージャーのようなもの。|
|XXXAppDelegate.h|Androidで言うところのライフサイクルを管...
|XXXViewController.h|Viewのコントローラー。xibファイルを...
|オブジェクト型の変数|ポインタなので*varNameのように*が必...
**Javaとの比較 [#e2fa3910]
プロパティはJavaと同じ感覚でつかえるけど、メソッドの呼び...
|this.someMethod(arg1, arg2)|[self someMethod:arg1 arg2:a...
|Hoge hoge = new Hoge();|Hoge *hoge = [[Hoge alloc] init];|
|Array|NSArray|
|List|NSMutableArray|
|Map|NSMutableDictionary|
|interface|protocol|
|view.getI()|sender.tag|
|プリファレンス|NSUserDefaults|
***インスタンス変数 [#ceacdd70]
結構混乱したので記述しておく。インスタンス変数は基本priva...
**ARCとは [#j88e3d0c]
参照カウントを自動でやってくれる機構。コンパイル時にソー...
*iOS [#j529f156]
**プロジェクトファイルの構成 [#y1a2abf2]
一つのViewControllerだけのアプリケーションであればシンプ...
**アプリケーションデリゲート [#y8329526]
イベントの通知をうけるメソッドを定義してある。Androidでい...
**複数Viewでの情報共有 [#a27fc3f3]
アプリケーションデリゲートにプロパティを追加する。そのプ...
**TavBarにViewを追加するときの手順 [#e4f54712]
+テンプレートからCoCoaTouchのUIViewControllerのサブクラス...
+タブアイテムを選択し、Identifyでクラスと結びつける。Attr...
**コード内でUI部品の追加 [#e6e48136]
UILabel *label = [[[UILabel alloc] init] autorelease];
[self.view addSubview:label];
*お役立ちリンク集 [#cf517e57]
http://golog.plus.vc/iphone/906/
http://d.hatena.ne.jp/moto_maka/20110425/1303673150
*Xcode4 [#s6de4a5c]
**ナビゲータエリア [#edcf650f]
eclipseのパッケージエクスプローラーの位置にある。通常はフ...
**エディタ [#wa8da91d]
|アシスタントエディターの分割|Viewメニューから選べる。ま...
|アシスタントエディターで開く|Option(Alt) を押しながらク...
|開く場所を選ぶ|Option(Alt)+Shift を押しながらクリックす...
|メソッド定義へ飛ぶ|Command(Windows)を押して、クリックか...
**外部ライブラリ [#d4c9c85f]
frameworkフォルダに依存フレームワークを持ってくる
*書籍情報 [#cc13fcfc]
|書籍名|感想|場所|サポートサイト|
|iOSデバッグ&最適化技法 for iPad/iPhone|入門レベルでは必...
|10日でおぼえる iPhoneアプリ開発入門教室|サンプル、画面キ...
|よくわかるiPhoneアプリ開発の教科書|各パーツの説明は丁寧...
|iPhone/iPad/iPod touch プログラミングバイブル|同じ著者の...
|Xcode4ではじめる Objective-Cプログラミング|ほぼObjective...
|Objective-C 超入門|ほぼObjective-C本。4.2対応|NCC||
*iTunesのバックアップフォルダ移動 [#k6599017]
Cドライブバックアップ先を変更できないというクソ仕様なので...
|バックアップ先|C:\User\ユーザ名\AppData\Roaming\Apple Co...
+新しいバックアップ先を作成し、上記backupディレクトリ毎移動
+以下のコマンドを実施。MybileSyncにbackupディレクトリが存...
mklink /J "C:\User\ユーザ名\AppData\Roaming\Apple Comput...
*iOS開発読み直し [#xe6f4c87]
-OutletはViewをイベントリスナーで操作したいときに必要。
-通常のボタンなどはアクションでViewControllerにひもづける...
基本的にimplementsの代わりに<xxx,yyy>と記述する感じだ。
ページ名: