アプリ内課金ローカル認証(デバッグ用)

サーバー側で検証に使うレシートの内容をアプリ内で確認したい場合のコード func receiptValidation() { let receiptUrl = Bundle.main.appStoreReceiptURL let receiptData = try! Data(contentsOf: receiptUrl!) let requestContents = [ "receipt-data": …

Carthageを使ってフレームワークを導入

導入するもの 1. Alamofire 2. ObjectMapper 3. RxSwift プロジェクトの配下で以下のコマンドをうつ $ touch Cartfile $ vim Cartfile Vimに導入したいライブラリを記載 github "Alamofire/Alamofire" github "Hearst-DD/ObjectMapper" github "ReactiveX/Rx…

Swift: CollectonViewの列と行を設定する

CollectoinViewの列と行を変更していきたいと思います。 開始の状態 参考: Swift: カスタムCollectionViewセル - ichi6161’s diary 手順 準備 セルの大きさを設定 マージンを設定 1. 準備 UICollectionViewDelegateFlowLayoutを採用する class FirstViewCon…

Swift: カスタムCollectionViewセル

StorryboardにCollectionViewを設定 CollectionviewのdataSourceを設定 カスタムセル用のクラスを作成 (xibファイルもセットで) StorryboardにCollectionViewのセルをタップして、identiferとクラスを設定 コードでCell用に作成したxibファイルをCollectionV…

isHeddenの注意点

TebleViewの上にViewがあって、そのViewがisHedden = trueにもかかわらず、 cellタップが効かない!と思ったら、 Autorayout でUserInteractionEnabled のチェックを外す。

複数のストーリーボード

複数のストーリーボードを使って、NavigationControllerで画面遷移する場合 ①ストーリーボードを追加する(今回、ファイル名はStoryboard.storyboard) ②identity inspectorで、対応するViewControllerとStoryboard ID を設定する。 ③コードを追加 //定数にス…

Navigation Controller関係

ナビゲーションバーにボタンをつけたいとき Bar Button Itemを選択して、Itemを置きたい場所にドロップすればいいだけ。「Bar Button Item」を選択することに注意 複数のストーリーボードでナビゲーションバーを使うとき それぞれのストーリーボードでナビゲ…

delegateの実装

Modelクラス ViewControllerクラス Modelクラスでデータベースに値を入れたことをViewControllerに伝える。 ① プロトコルの宣言 ② delegateプロパティを宣言。アクセッサ (weak, nonatomic) FolderManager.h #import <Foundation/Foundation.h> #import "Folder.h" @protocol Managing</foundation/foundation.h>…

ControllerからDataSourceを切り離す

データソースクラスのヘッダーにUIKitインポート #import <UIKit/UIKit.h> データソースクラスのヘッダーにUITableViewDataSource準拠の宣言 @interface TableDataProvider : NSObject<UITableViewDataSource> ViewControllerクラスでデータソースクラスのインスタンスをプロパティで保持 @property</uitableviewdatasource></uikit/uikit.h>…

defaultのストーリーボードを消去して新規でストーリーボード作成する場合

ビルドしてFolderListViewControllerから表示される info.plistの書き換え ViewControllerにカーソルを合わせて、storyboardのClassを変更 is initial ViewContollerにチェックを入れる xibファイルを使用する時のapp delegateに記載するコードはいらない(…

storyboardを使わない場合

1. プロジェクトを作った際に作られるdefaultのファイルを消去する Main.storyboard, ViewController.h, ViewController.mwo Move to Trashを選択する 2. info.plistを修正 “Main storyboard file base name”の欄が"main.storyboard"となっているので、"main…

Readmeテンプレート

Git

R## 概要 歯車が回転したり、止まったすことで、タスクが進行中であることを示すクラス 継承元 UIView 実装手順 1.ストーリーボードから、UIButtonのアクションを2つとUIActivityIndicatorViewを追加 2.上記をViewControllerと紐付け 3.メソッド実装 主要プ…

画像のキャッシュ(SDWebImage)

Apiで取得したurlを使って画像をキャッシュ→表示させる ①PodfileでSDWebImageをインストール ②#import <SDWebImage/UIImageView+WebCache.h> ③コーディング 1. こんな感じにPodfileに書き込み Pods for HotPepperApp pod ‘AFNetworking’ pod ‘SDWebImage’ 2. #import <SDWebImage/UIImageView+WebCache.h></br> 3. NSURL *url = [NSURL UR…

.gitignoreの作り方

gitignoreファイルの作成 git管理下でプロジェクトを作成 atomなどのエディタで.gitignoreファイルを作成 以下をエディタに記載し、.gitディレクトリと同じ階層におく *.xcodeproj/* !*.xcodeproj/project.pbxproj !*.xcworkspace/contents.xcworkspacedata …

plistのパスの変更

plistを新しいディレクトリなどに移して、パスが変わってしまった時の対処法。 The file “Info.plist” couldn’t be opened because there is no such file.というエラーが出た時 target→Packagingの中にあるinfo.plist File項目のパスを変更しなければならな…

AutoLayout1

AutoLayoutのポイント ・Constraintsを設定する前に、だいたいの大きさや位置はpreviewで設定しておく。そうしないと、Constraints変になる ①全画面にimageViewを表示する UIImageViewを選択した状態で、add new constraintsを選択する。 Marginを上下左右0…

デバイスのディレクトリパスとNSFileManager

データをどのディレクトリに入れるかを整理する。 ・cachesディレクトリ このディレクトリ下のデータは、アプリがアクティブの時でも削除される可能性がある ・tmpディレクトリ このディレクトリ下のデータは、 アプリがアクティブの時は保持され続ける ・Do…

自作アプリのUrlスキーマを設定

自作アプリをサファリなどの他のアプリから開く プロジェクトのターゲットをクリック URL Types で設定 identifier と URL Schemes を設定。Identifierは Bundle Identifierと同じで良い plistには自動で値が入る 開くときは、設定したUrl Scheme://で開く。…

プロジェクトに新しいディレクトリを追加

新しいディレクトリを追加するとき ① 実際のファイルシステム上でデレクトリを作る ② xcode上で新しいグループを作る。 ③ xcode右側 file inspector でlocationの下、ディレクトリマークをクリックして、作成したグループとファイルシステム上のディレクトリ…

日付の処理+カレンダーを作る時のポイント

日付処理の検証 年、月、日付をそれぞれ別にして取得したい場合 - (NSDateComponents )components:(NSCalendarUnit)unitFlags fromDate:(NSDate )date;メソッドを使う 解説 - (NSDateComponents *)components:(NSCalendarUnit)年 | 月 | 日 | fromDate:年月…

CollectionViewのカスタムセル

まず、controllerViewのクラス名変更したらストーリーボードも変更することを忘れない collectionViewをはったらヘッダーファイルと紐付け xibファイルもセットで新しいUICollectionViewCellクラスのファイルを作る ストーリボードでクラス名とセルのIdentif…

データベースの書き方(FMDB)

データベース接続 - (FMDatabase *)getConnection { if( self.db_path == nil ) { self.db_path = [このクラス getDbFilePath]; //このクラスのクラスメソッド } return [FMDatabase databaseWithPath:self.db_path]; } + (NSString*)getDbFilePath { NSArra…