NotFoundException?[C#][Xamarin]

VisualStudio Macにて。

からのプロジェクトにコントロール追加しただけなのに出たエラー。
ビルドは成功。
配置時に「Android.Content.Res.Resources+NotFoundException」のエラーが出た…

ビルド>クリーンして、
ビルド>リビルド、三角ボタンで実行すると
動いた。
前の何かが残っていたのか?

C#の拡張メソッドの使い方(初心者向け)

例えばLinqを使ってみようと思ったけど、インテリセンス(入力補助)に出てこなくて「なぜか使えない!?」と悩んでいる方などに。

Linqに限らず拡張メソッドの使い方は
・usingディレクティブを追加して名前空間を指定する
・プロジェクトの「参照設定」にそのアセンブリへの参照を追加する
を行えば使えるようになります。

Listクラスの例

例としてリストクラスを挙げてみます。
https://msdn.microsoft.com/ja-jp/library/6sh2ey19(v=vs.110).aspx f:id:mocotanus:20171004230606j:plain

Listクラスの拡張メソッドを見てみます。
f:id:mocotanus:20171004231332j:plain

Linq関連のメソッドは拡張メソッドがずらっと並んでいますね。例えばここにある拡張メソッドのAnyメソッドを使いたいとします。

Anyメソッドへのリンクをクリックして、詳細を見てみます。
f:id:mocotanus:20171004231551j:plain

名前空間: System.Linq
これは、ソースファイルの先頭に「using System.Linq;」が必要なことを意味します。
Linq系なら最近のVisualStudioのテンプレートですでに追加されてるんですけどね。VisualStudioのバージョンが古いと「using System.Linq;」を自動挿入してくれなくて、手動で追加する必要があったりします。

アセンブリ: System.Core (System.Core.dll 内)
そのプロジェクトの参照設定に「System.Core」への参照が追加されていることが必要なことを意味します。
f:id:mocotanus:20171004231926j:plain

適当なコンソールアプリの例

using System;
using System.Collections.Generic;
using System.Linq;// これが必要
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>()
            {
                "あ",
                "い",
                "う",
            };

            bool res = list.Any(x => x == "え");// 使えてます
            Console.WriteLine(res.ToString());// False

            // コンソールアプリで試しているとき、
            // こういうので止めておかないと超速で処理が終了して画面が閉じる
            Console.ReadLine();
        }
    }
}

これで、拡張メソッドのAnyが使えるようになりました。

コンソールアプリで試しているとき、Console.ReadLineメソッドなどで止めておくと確認しやすいです(エンターキーを叩くと画面を閉じる)。止めたいところにブレークポイントを貼っておくでも同じですが…

XcodeのアップデートがあるはずなのにAppStoreで「アップデート」と表示されずにップデートできない

アップデートが途中で止まってしい完了しないってのも経験しましたが、今回は「アップデートが利用可能なはずなのにAppStoreで表示されない」という状況です(´・ω・`)

 

https://developer.apple.com/download/
AppleのDeveloperサイトにログインして、ダウンロードページから
「Release Software」のXcpde(公開日時から今自分がほしいバージョンか一応確認)をダウンロードします。

f:id:mocotanus:20171003062529j:plain

 

あるぇ?ダウンロードをクリックしたらAppStoreにとばされました…
もしかして「アップデート」という表示じゃなくてもアップデートできたのか?
「入手」をクリックしてインストールしてみました。

 

f:id:mocotanus:20171003062253j:plain

 

 インストールが終わったら、コンポーネント等のインストールをしてもらうために、一度Xcodeを起動します。

メニューのXcode > About Xcode から、Xcodeのバージョンを確認します。最新になってました!

 

肝心の、VisualStudio(Mac版)でXamarinのコードがビルド通るか試す→通った!やった…シミュレータ起動してアプリも起動した!「Hello Xamarin(´・ω・`)」(まだここです;) よかった…これで進める(´・ω・`)

 

AppStore以外から

AppStore以外からの方法もあります。

Developerサイトの先ほどのダウンロードページの一番下に「See more downloads」というリンクがあるのでクリックします。

f:id:mocotanus:20171003062329j:plain

 

さらに多くの対象ファイルが表示されます。

f:id:mocotanus:20171003062354j:plain


検索でxcodeで絞り込み、
Xcode9の左の「+」をクリックして、「Xcode9.xip」をクリックしてダウンロードして、インストールします。
.xipというのは、デジタル署名付きのzipってことだそうです。

f:id:mocotanus:20171003062410j:plain

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言語に対応しました - はてなブログ開発ブログ

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