Xamarin.iOS は気をつけないとすぐメモリーリークしてしまいます。なぜ、そのような事が起こるのか、Xamarin.iOS の仕組みを解説しています。 こちらの公式ドキュメントも是非ご参照ください。 https://docs.microsoft.com/ja-jp/xamarin/ios/internals/architecture?WT.mc_id=DT-MVP-5002467 Read less
![普通に書くと即メモリーリーク!こんなに大変だけど、俺は Xamarin.iOS を使い続けるぜ!](https://cdn-ak-scissors.b.st-hatena.com/image/square/978fdf8a3c62356471474a748770f9789703fc21/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fxamariniosdeepdive43slideshare-190906035556-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Xamarin.FormsのListViewやTableViewで使えるCustomCell(NativeCell)の作り方のまとめXamarinXamarin.AndroidXamarin.FormsXamarin.iOS 今年は個人でも仕事でもListViewのCellはViewCellではなくNativeCellを利用することが多かったので、ここでまとめてみました。一部こちらのブログと内容がかぶりますが、今回はiOSの方法も追加した上でその後にいろいろ最適化したのでその内容も反映させたものにしました。 リポジトリ 基本的な手順 Forms側で使うCellをFormsプロジェクトに作成する Native側で使うCellをPlatformプロジェクトに作成する 1と2を対応させるRendererをPlatformプロジェクトに作成する FormsCell サンプルとしてタイトルラベルだけ
この記事では、今秋約5年ぶりにリニューアルされた「読書メーター」iOSアプリ開発の取り組みや内部の構造などについてご紹介します。基本的に一般的なネイティブアプリ開発事例のひとつにすぎず、あまり特筆すべき取り組みというものはないかもしれませんが、実はドワンゴとしては(多分)初の Xamarin.iOS を採用したチャレンジングなプロジェクトでもありました。 Xamarin を採用しようか迷っている方、採用したもののどうするべきか迷っている方には、この記事が助けになれば幸いです。また Xamarin プロフェッショナルの各位におかれましては、記事中になにか誤り等がございましたらご指導いただけると幸いです。 お約束ですが一応書いておくと、この記事は個人の見解であり、所属する組織の公式見解ではありませんので、よろしくお願いいたします。 1. 読書メーターとは? 「読書メーター」 は、日々の読書量や
こんにちは。エクセルソフトの田淵です。 これは [初心者さん・学生さん大歓迎!] Xamarin その1 Advent Calendar 2017 - Qiita の 20日目のエントリーです。 というかXamarin.Forms Embeddingと(仮で)呼ばれてた機能が結局Xamarin.Forms Native Formsになったのな。NaitiveやEmbedが氾濫しすぎじゃないですか。— ざまりん.ふぉーむずマン🚲 (@ticktackmobile) 2017年11月16日 確かに!w Xamarin には色々な技術があり、それぞれに非常に紛らわしい名前が付いています。本エントリーではそれらをさっと解説していきます。あ、これはそういう技術なのかーと思っていただければ幸いです。 2017/12/20 現在の情報です。Preview が Stable になった場合は記事を修正予定
Xamarin(Native/Forms) から使える iOS(UIStackView) / Android(LinearLayout) で同じようにLayoutするためのサンプル集XamarinXamarin.AndroidXamarin.FormsXamarin.iOS CustomRenderer等でNativeのLayoutを使ってiOS/Android両方で同じようなLayoutにするコーディングのサンプルを紹介します。サンプルの環境ではFormsを使っていますが、Nativeでも同じようにできると思います。 使用するLayoutはiOSはUIStackView + (必要に応じて)Constraint、AndroidはLinearLayout + (必要に応じて)RelativeLayoutを使います。 なお、UIStackViewよりもLinearLayoutの方が自由度が高
Visual Studio で Xamarin.iOS のプロジェクトを作成すると、ストーリーボードなどという忌まわしいものがデフォルトで作成されてしまい非常に厳しい気持ちになります。この記事では、それらを削除して、コードでUIを構成していくためのステップを説明します。3分ほど作業をすれば邪魔なものが消えてなくなってくれます。 1. Main.storyboard を削除 2. ViewController.designer.cs を削除 3. ViewController の余計なコードを削除する ViewController が partial class である必要がなくなったので、partial キーワードを消します。合わせて IntPtr を引数にとるコンストラクタも不要になりました。 using System; using UIKit; namespace Pawotter.i
Visual Studio for Mac | Xamarin Releases ここに書いてある方法で Visual Studio for Mac で iOS 11 を動かせるようにしました。 んで、Xamarin.Forms で簡単なアプリを実行してみました。 こんな XAML です。よくある iOS 用に画面上部の Padding に 20 設定してあるヤツです。 嫌な予感はしていました。 <?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="test.Views.MyPage" BackgroundColor="Te
[Xamarin.Forms 1.3.4pre-1]iOS版のListViewがセルの高さを自動計算してくれるようになったXamarinXamarin.Forms 何が変わった? Xamarin.Forms 1.3.4-pre1 Released "iOS Dynamic cell sizing support" Xamarin.Forms 1.3.4(執筆時点で -pre1)から、iOS版ListViewがセルごとに最適な高さを自動計算してくれるようになりました。(Android版は前からできてた) 今までは、Xamarin公式ガイドの"Enabling Different Cell Heights in iOS"で紹介されているように文字数でざっくりとセルの高さを決めるか、あるいはCustomRendererで対処するか、けっこう頭の痛い問題でした。 XF1.3.3の惨状。 XF1.3
Xamarin.FormsにはWebViewがある。 だからHybridページやリッチテキストなビューを作りたい。 しかし現状のXamarin.FormsのWebViewだと 非常に非力 ページの表示ができる程度です。 今回、iOSのカスタムURIのクリックをアプリ側でフックしようとしましたが 当然のごとくできませんでした。 ではどうするのか? →Xamarin.Formsを拡張する。 Xamarin.Formsの拡張方法 PCL側 Xamarin.FormsのWebViewを継承してWebViewExを作る。WebViewExにはページ遷移イベントをプラットフォーム側から通知できるようにする Viewに作ったWebViewExを埋め込む using Xamarin.Forms; using System.Reactive.Subjects; namespace TestApp.Core.
みなさんこんにちは! ここ1週間ほど前から仕事でXamarinを触る機会ができ、以前から思っていたiOSアプリ開発願望に、より拍車がかかっています。 しかし、残念なのがiOSアプリの開発にはどうしてもMac PCが必要であるということ。 mac miniで安くても5万円はしてしまうので、二の足を踏んでいる自分がいます。 その中で、こんな朗報が!! iOSアプリ開発でMac OSが不要に、Windowsで開発・テスト・公開可能な「Xamarin Live Player」 -INTERNET Watch 早速使ってみました。結論から言うと、Macを持っていない自分でもiOSアプリを開発できる環境ができました。 非常にタイムリーな話題だと思いますので、導入手順を簡単にまとめさせていただきたいと思います。 なお、Xamarin Live Playerはアルファ版ですので、自己責任での導入をお願いい
ソースの大部分が共通化されたiBeacon発信アプリを作ろう iOSとAndroidの両プラットフォーム向けのネイティブアプリを開発する際、Xamarinを使用するとそれぞれのアプリを個別に開発するよりも少ない手間で開発を進めることができます。 特にXamarin.Formsであれば、プラットフォーム固有の処理以外のソースを共通化できるため、アプリ開発を随分効率的に進めることができます。 ビーコンの送受信のようなBluetooth Low Energy(BLE)を扱う処理は、プラットフォームに依存するため、プラットフォームごとに処理を実装する必要があります。 逆に言えば、この部分のみを切り出して、UIを含む他の部分を共通化してしまう形でアプリを作れます。 サンプルアプリ サンプルアプリをGitHubに公開しました。 https://github.com/microwavePC/iBeaco
iOSもAndroidもWindowsもデータ領域の役割とかパーミッションとかすぐ忘れるので自分用に一覧にまとめました。 適宜まとめなおします。 各OSでのストレージの区分 アプリが利用できるデータ領域は、大きく分けて下記の3種類に分けられる。 インストールディレクトリ アプリケーション本体とそのリソースの領域 自アプリケーションからでも読み取り専用で、書き込みすることはできない。 アプリケーションデータディレクトリ ユーザデータを保存する領域 他のアプリケーションからのアクセスはできないが、自アプリからのR/Wは可能。 パブリックディレクトリ 他のアプリや端末と共有可能な領域 自アプリケーション、他アプリケーションともにR/W可能。 上記3種類のストレージが、各OSでどこに属するかの図は↓のようになる。 iOSは、ストレージによってiTunesでのバックアップ対象かどうかが異なる。 バッ
こんにちは。 アプリケーション共同開発部 名古屋開発課の辻です。 2016 年 2 月に、Microsoft 社が Xamarin を買収したことは大きな話題となりました。 しかしながら、Xamarin でモバイルアプリケーションを作ることのメリットは何なのか、Xcode での開発と比較して不自由な部分はないのかなど、実際に触ってみないと分からない部分が多いのではないかと思います。 そこで、Xcode を用いて Objective-C や Swift で開発してきた iOS 開発者が、Xamarin.iOS を導入することで感じたことをお話ししたいと思います。 クロスプラットフォーム開発の再興 クロスプラットフォーム開発は、iOS / Android など、個別のプラットフォームに向けて開発する工数を削減することを目的として、HTML5 の普及期に盛り上がりを見せましたが、WebView
画面のロード時(viewDidLoad/onCreate)に相当するのは、Xamarin.Forms では OnAppearing、逆にアンロード時は OnDisAppearing です(名称が viewDidAppear に似てるので、画面の表示時かと勘違いしてました)。 画面の表示/非表示時のイベントは、画面でなく Application クラスの OnResume, OnSleep で提供されます。 要注意なのは OnResume です。これ、画面が表示される 初回はイベントが発生しません。 一度、アプリを背面に退避し、再度前面に持ってきたときに初めて OnResume が呼び出されます。iOS や Android の viewDidAppear / OnResume と同じだと思ってつかうとハマります。 基本的には、 OnAppearing でリソースの確保を、 OnDisAppe
昨日、業務系システム開発勉強会に参加し、Xamarin iOS を触ってみました。 で、Xamarin Studio で iOS の実機デバッグを行おうとしたところ、はまったのでメモしておきます。 以下の田淵さんの記事を参考にしました。 Xcode 7 と Xamarin Studio Starter で1円も払わずに自作 iOS アプリを実機確認する (インスパイア記事) Xamarinで実機デバッグをする場合は、Xamarinでプロファイルの生成ができないので、Xcodeで生成されたプロファイルを拝借するために、プロジェクト名をXcodeと揃えるというものです。 しかし、Xcodeのプロジェクト名では、アンダースコアをハイフンに置き換えてしまいます。 しかも、Xcodeのプロジェクト名をコピーして、Xamarinに貼り付けたら、ハイフンがアンダースコアに戻ってしまう。。。ここ、気づき
Xamarin Studioでクロスプラットフォーム開発 Xamarin Studioが無料になりましたね(いまさら...)。 そんなわけで、 iOSとAndroidの、クロスプラットフォーム開発を試しました。 今回は、 ・インストール ・ビルド、エミュレータでの実行 以上を一通り残していこうと思います。 筆者の環境は下記の通りです。 ・MacBook Pro 2015 ・Mac OS X 10.11.4(El Capitan) また、Android, iOSの開発をするので、 下記のツールをインストール済みです。 ・Xcode ・Android Studio 両プラットフォームのシミュレータが動作する状態です。 Xamarin Studioをインストール 何はともあれインストール。 下記のリンク先からダウンロードできます。 https://www.xamarin.com/studio (
What does end of support mean? Per the Xamarin support policy, Microsoft no longer supports or updates the product. If you are using features housed within the Visual Studio IDE, you will be directed on how to navigate changes to your project. We recommend you use .NET Multi-platform App UI (.NET MAUI), the next evolution of Xamarin.Forms. We have provided resources and guidance to help you adopt
こんにちは。エクセルソフトの田淵です。 2018/05/31 Update: Visual Studio 2017 for Windows 用の PCL で Xamarin.Forms を作るテンプレートを用意しました。 ytabuchi.hatenablog.com Xamarin Forms Templates 公開しました。https://t.co/b516jzfkT7@ytabuchi さんのテンプレートベースにプロジェクト作成直後のエラーを減らしました。 ツールメニューの機能拡張と更新プログラムから検索してください。— ぴこりる (@picolyl) 2016年4月8日 インストール Visual Studio を起動して、[ツール>機能拡張と更新プログラム]で開くダイアログで[オンライン]を選択し、[Xamarin.Forms]で検索します。 または、こちら から Xamari
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く