VisualStudio Macにて。
からのプロジェクトにコントロール追加しただけなのに出たエラー。
ビルドは成功。
配置時に「Android.Content.Res.Resources+NotFoundException」のエラーが出た…
ビルド>クリーンして、
ビルド>リビルド、三角ボタンで実行すると
動いた。
前の何かが残っていたのか?
例えばLinqを使ってみようと思ったけど、インテリセンス(入力補助)に出てこなくて「なぜか使えない!?」と悩んでいる方などに。
Linqに限らず拡張メソッドの使い方は
・usingディレクティブを追加して名前空間を指定する
・プロジェクトの「参照設定」にそのアセンブリへの参照を追加する
を行えば使えるようになります。
例としてリストクラスを挙げてみます。
https://msdn.microsoft.com/ja-jp/library/6sh2ey19(v=vs.110).aspx
Listクラスの拡張メソッドを見てみます。
Linq関連のメソッドは拡張メソッドがずらっと並んでいますね。例えばここにある拡張メソッドのAnyメソッドを使いたいとします。
Anyメソッドへのリンクをクリックして、詳細を見てみます。
名前空間: System.Linq
これは、ソースファイルの先頭に「using System.Linq;」が必要なことを意味します。
Linq系なら最近のVisualStudioのテンプレートですでに追加されてるんですけどね。VisualStudioのバージョンが古いと「using System.Linq;」を自動挿入してくれなくて、手動で追加する必要があったりします。
アセンブリ: System.Core (System.Core.dll 内)
そのプロジェクトの参照設定に「System.Core」への参照が追加されていることが必要なことを意味します。
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メソッドなどで止めておくと確認しやすいです(エンターキーを叩くと画面を閉じる)。止めたいところにブレークポイントを貼っておくでも同じですが…
アップデートが途中で止まってしい完了しないってのも経験しましたが、今回は「アップデートが利用可能なはずなのにAppStoreで表示されない」という状況です(´・ω・`)
https://developer.apple.com/download/
AppleのDeveloperサイトにログインして、ダウンロードページから
「Release Software」のXcpde(公開日時から今自分がほしいバージョンか一応確認)をダウンロードします。
あるぇ?ダウンロードをクリックしたらAppStoreにとばされました…
もしかして「アップデート」という表示じゃなくてもアップデートできたのか?
「入手」をクリックしてインストールしてみました。
インストールが終わったら、コンポーネント等のインストールをしてもらうために、一度Xcodeを起動します。
メニューのXcode > About Xcode から、Xcodeのバージョンを確認します。最新になってました!
肝心の、VisualStudio(Mac版)でXamarinのコードがビルド通るか試す→通った!やった…シミュレータ起動してアプリも起動した!「Hello Xamarin(´・ω・`)」(まだここです;) よかった…これで進める(´・ω・`)
AppStore以外からの方法もあります。
Developerサイトの先ほどのダウンロードページの一番下に「See more downloads」というリンクがあるのでクリックします。
さらに多くの対象ファイルが表示されます。
検索でxcodeで絞り込み、
Xcode9の左の「+」をクリックして、「Xcode9.xip」をクリックしてダウンロードして、インストールします。
.xipというのは、デジタル署名付きのzipってことだそうです。
業務でXamarin使えたらいいなと思い、本を購入して読んでいる最中です。
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#プログラミングのイディオム/定石&パターン
はてなブログで「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モードを選択
↓
変更ボタンをクリックして保存。
編集モードを変更した場合は、「新しく記事を書く」から、新しい編集モードの記事を作成します。
バッククオート(`)を3つ続けた```で囲まれたコードブロックの中にソースコードを記述します。
先頭の```の最後にファイルタイプを指定します。
Swiftでは次のように記述します。
```swift
// ソースコードを記述する
```
書き方にルールがあるそうです。
・改行:半角スペース2個
・空行:文中で空行
・「```」などMarkdown記法にあたる記述:エスケープ記号の「(バックスラッシュ)」を前につける
ソースコードを色付けして表示する(シンタックスハイライト) - はてなブログ ヘルプ