Xamarin+C#でモバイルアプリ開発(゚ω゚)

業務でXamarin使えたらいいなと思い、本を購入して読んでいる最中です。 

Xamarinネイティブによるモバイルアプリ開発 C#によるAndroid/iOS UI制御の基礎

Xamarinネイティブによるモバイルアプリ開発 C#によるAndroid/iOS UI制御の基礎

 

 

今なら購入特典キャンペーンでおまけPDFがもらえるそうです。

翔泳社『Xamarinネイティブによるモバイルアプリ開発』購入特典キャンペーン

 

自分は
・業務でC#を使っている
iOSで初心者向けチュートリアルをやったことがある

くらいなので、エミュレータのトラブルやビルドが通らなかったりなど、始めるまでに苦労がありますね…

 

著者の青柳さんのインタビューがcodezineに掲載されていました。

◆サポートやコミュニティについて
・Japan Xamarin User Group(JXUG)というコミュニティ

Japan Xamarin User Group (JXUG)
・本家のXamarin.com

Mobile App Development & App Creation Software - Xamarin
・スタック・オーバーフロー
 英語版だと特に情報が豊富で、載っていない情報がないくらい、だそうです。

Stack Overflow - Where Developers Learn, Share, & Build Careers

スタック・オーバーフロー

 

 

C#関連だと、この本もよかったです。 即効性があって。。

実戦で役立つ C#プログラミングのイディオム/定石&パターン

実戦で役立つ C#プログラミングのイディオム/定石&パターン

 

 

はてなブログ ソースコードの貼り付けでシンタックスハイライトを使う

表示例

はてなブログで「Markdown」編集モードのときに、シンタックス・ハイライトを使った場合の表示例。

enum FizzBuzz {
    case Fizz, Buzz, FizzBuzz, Other(Int)
    
    var state: String {
        switch self {
        case .Fizz:         return "Fizz"
        case .Buzz:         return "Buzz"
        case .FizzBuzz:     return "FizzBuzz"
        case .Other(let i): return "\(i)"
        }
    }
}

前提条件:編集モードをMarkdownモードにしておく

設定>基本設定>
f:id:mocotanus:20170826110721p:plain


編集モード>Markdownモードを選択
f:id:mocotanus:20170824001038p:plain


変更ボタンをクリックして保存。
f:id:mocotanus:20170824001318p:plain

Markdownモードでのシンタックス・ハイライトの記述法(書き方)

編集モードを変更した場合は、「新しく記事を書く」から、新しい編集モードの記事を作成します。

バッククオート(`)を3つ続けた```で囲まれたコードブロックの中にソースコードを記述します。
先頭の```の最後にファイルタイプを指定します。
Swiftでは次のように記述します。

```swift

// ソースコードを記述する

```

Markdownモードでの書き方

書き方にルールがあるそうです。

・改行:半角スペース2個
・空行:文中で空行
・「```」などMarkdown記法にあたる記述:エスケープ記号の「(バックスラッシュ)」を前につける

参考

ソースコードを色付けして表示する(シンタックスハイライト) - はてなブログ ヘルプ

はてな記法とMarkdownのシンタックス・ハイライトで、Swift言語に対応しました - はてなブログ開発ブログ

編集モード - はてなブログ ヘルプ

Xcode Swift:Bar Button Item上に配置したボタンのタッチイベントが動かない

Bar Button Itemに上に配置したボタンに登録したはずのボタンイベントが、タッチしても動かなかったので調べました。

 

現象

ビルドは正常に成功。
タップしたときに呼ばれるはずの処理が呼ばれない。

 

シミュレーターで「追加」をタップすると、addメソッドが呼ばれるはずなのに…

f:id:mocotanus:20170625142352j:plain

ブレークポイントを設定してみたところ、やっぱり入ってこない。

 f:id:mocotanus:20170625142530j:plain

 

原因

接続元が間違っていた。

Bar Button Itemに接続(緑の状態)してしまっていたせい。
Bar Button Itemの配下にある「ボタン」のほうに接続(赤の状態)すればできる。

f:id:mocotanus:20170625144228j:plain

 

 

解決法

Bar Button Itemで右クリック(またはctrl+クリック)で黒い画面を表示させる。
Sent Actionsに追加された接続を「×」を押して削除する。

f:id:mocotanus:20170625144715j:plain

 

ボタンのほうで右クリック(またはctrl+クリック)で黒い画面を表示させる。
Sent EventsのTouch Up Insideの右の○を、接続したいメソッドへドラッグ&ドロップする。

f:id:mocotanus:20170625145340j:plain

 

ビルドしてシミュレーターで確認してみてください。呼ばれるようになっているはずです。

 

予防法

Bar Button Itemを選択している状態の表現と、
ボタンを選択している状態の表現が違うので、目で見て気をつける。

・Bar Button Itemのときは角丸なしの四角形で選択状態

f:id:mocotanus:20170625150447j:plain

 

・ボタンのときは角丸の四角形で選択される

f:id:mocotanus:20170625150533j:plain

 

リストから接続すると確実。


トーリーボードからボタンを選択したいときは、ダブルクリック(ゆっくり2回クリックでもできた)すれば、Bar Button Itemじゃなくてボタンのほうを選択できる。

iOS Simulator起動でUITextFieldのキーボードが自動で表示されない Xcode Swift

フォーカスした時に自動でキーボードを表示するには、

Simulator>Hardware>Keybords>Connect Hardware Keyboardのチェックを外す

そうするとフォーカス時に自動で出るようになります。 

f:id:mocotanus:20170615052943j:plain

 

エラー「ブレークポイントは、現在の設定ではヒットしません。ソースコードが元のバージョンと異なります」

ブレークポイントは、現在の設定ではヒットしません。ソースコードが元のバージョンと異なります

メニューの
ビルド>クリーン
からリビルドしたらなおる