Xamarin Part7

■ このスレッドは過去ログ倉庫に格納されています
2020/08/06(木) 14:13:17.40ID:FqdHb27g
C#を用いてクロスプラットフォームアプリケーション(iOS Android Mac)を
を開発するためのライブラリおよび開発環境です。
Macの人は Xamarin Studio、Winの人は Visual Studioで開発できるよ!

公式
http://xamarin.com/

前スレ
Xamarin Part6
https://mevius.5ch.net/test/read.cgi/tech/1508356242/
Xamarin Part5
http://mevius.2ch.net/test/read.cgi/tech/1498575762/
Xamarin Part4
http://mevius.2ch.net/test/read.cgi/tech/1494196804/
Xamarin Part3
http://echo.2ch.net/test/read.cgi/tech/1483089021/
Xamarin Part2
http://echo.2ch.net/test/read.cgi/tech/1480602653/
Xamarin Part1
http://echo.2ch.net/test/read.cgi/tech/1359861574/
590デフォルトの名無しさん
垢版 |
2021/02/18(木) 08:16:58.88ID:1lSYz4+D
https://asahi.5ch.net/test/read.cgi/newsplus/1613575734/36

36 くろもん ◆IrmWJHGPjM sage 2021/02/18(木) 00:49:38.32 ID:/NulqGiU0
開発初心者あるあるバグ。

接触通知アプリCOCOAの不具合、Xamarinを使用したことが一因か?
https://it.srad.jp/story/21/02/15/1636231/
> 設定情報を保存したプロパティをシリアライズしてファイルに書き出すロジックで、「.tmp」に書き出したのちに、
> 元のファイルを削除してから、「.tmp」を元のファイル名にリネームすするコードが書かれているという。そのため、
> 削除してリネームするまでの間に、プロセスがOSにより強制終了されると、設定ファイルが消失し、アプリが初期化されてしまうという。

COCOA iPhone版のリセット不具合 Xamarinの基礎的欠陥が発見される
https://togetter.com/li/1667874
2021/02/18(木) 09:17:03.17ID:m1ToIYl4
>>590
COCOAの仕組みって確か一日の接触履歴をサーバーに上げずにローカルに保存してて、定期的にサーバーから陽性者IDリストをダウンロードしてローカルでマッチングするんだよね?
もし同じ方法で接触履歴保存してたら消えちゃうわな。
592デフォルトの名無しさん
垢版 |
2021/02/18(木) 09:29:31.42ID:64/LOwh9
>>589
使う前にドブに捨ててるイメージ
593デフォルトの名無しさん
垢版 |
2021/02/18(木) 10:17:30.82ID:xXLmJ/sd
規模は小さいが品質が求められるアプリで
マルチプラットフォームにする必要なんて全然なかったのに
594デフォルトの名無しさん
垢版 |
2021/02/18(木) 12:58:10.79ID:osZKw8IF
クロスプラットフォームにする必要なかったわまわわからんでもないけどプラットフォームごとに違う動作する部分はXamarinは違うように書けるんだからXamarinのせいいうよりも杜撰なコード書いてた&チェック杜撰すぎたせいだろ
StoreとMoveがアトミックになってないとかもべっにその部分必要なら自分で書けばいいわけで
595デフォルトの名無しさん
垢版 |
2021/02/18(木) 13:13:53.28ID:0cnx11O2
接触の履歴保持はOSのENAPIがしてくれるんじゃなくて?
2021/02/18(木) 13:52:35.66ID:oAGwN0q1
>>590
書き換えは怖いねえ
597デフォルトの名無しさん
垢版 |
2021/02/18(木) 14:00:42.82ID:1lSYz4+D
まともなアプリはバックグラウンドからSaveProperties繰り返し呼んだりしないから
今まで誰もXamarin.Formsのバグに気付かなかったのではないかと

iOSはバックグラウンドで動作し続けるアプリをより積極的に殺しに行くから
不具合が出やすいとの説が出てる
(Androidはバックグラウンドのアプリをスリープさせるけど、メモリが不足してなければ殺さない)

iOSでもAndroidでもお行儀悪すぎて
OSに止められるような実装になってるのかも
2021/02/18(木) 14:47:30.93ID:HjqYY1Dl
ソース見た人いるね。
「COCOA iPhone版のリセット不具合 Xamarinの基礎的欠陥が発見される」 https://togetter.com/li/1667874
2021/02/18(木) 18:22:44.31ID:mNCoxgzN
if (store.FileExists(PropertyStoreFile))
  store.DeleteFile(PropertyStoreFile);
store.MoveFile(PropertyStoreFile + ".tmp", PropertyStoreFile);

2行目の処理が完了してるとは限らないのに
3行目が実行されると
600デフォルトの名無しさん
垢版 |
2021/02/18(木) 18:54:12.49ID:3ZQs7fPH
非同期メソッドなの?それ?
2021/02/18(木) 19:01:11.29ID:aymu6xul
>>599
>>502
602デフォルトの名無しさん
垢版 |
2021/02/18(木) 19:04:26.13ID:gxCt1jcN
だめだこりゃ、初期登録 -> 0日使用中になってるIOS
2021/02/18(木) 19:42:12.21ID:mNCoxgzN
>>601
それも何も担保してないし
OSがファイルが削除されたのを確認するまでループするのが
現実的
2021/02/18(木) 19:55:11.79ID:m1ToIYl4
>>603
ん?いや本ファイルが存在しなくてtmpファイルが存在したらそっち採用するのが現実的でしょ。
2021/02/18(木) 20:06:25.03ID:mNCoxgzN
>>604
RecoverLostPropertiesFileって
本当のファイルがなかったらtmpファイルを
本当のファイルにしましょうってことか
問題が明確になってないのに
言い訳的なコードがほとんど
これは絶対採用されない

if (store.FileExists(PropertyStoreFile))
  store.DeleteFile(PropertyStoreFile);
store.MoveFile(PropertyStoreFile + ".tmp", PropertyStoreFile);
これはダメだしここをはっきりさせないと
何が悪いかもわからない
2021/02/18(木) 20:26:28.42ID:T3KQT6/o
>>590
こんなレアなタイミングで発生する不具合が問題になることあるの?
それとこれトランザクションの説明を端折っただけじゃなくて
本当にDBじゃなくてファイルでやってるのか
607デフォルトの名無しさん
垢版 |
2021/02/18(木) 20:48:31.99ID:1lSYz4+D
>>606
バックグラウンドで何回も保存してるんじゃね?
そうすれば保存中にOSの電池節約機能でキルされる可能性が上がる
しらんけど

SavePropertiesってデータベース的な使い方には向いてないんじゃね?
本格的なデータ保存にはsqliteとか使えってことだと思う
しらんけど
2021/02/18(木) 22:05:00.23ID:ksWdZ7Jy
>>605
workaroundって言葉の意味わかってる?
2021/02/18(木) 22:33:01.26ID:DUfxlisU
ファイルじゃなくてsqliteとかでDBファイルにしとけばよかったのに
2021/02/18(木) 23:52:36.79ID:owphFcuG
Android版は1日1回再起動www
https://www.itmedia.co.jp/news/articles/2102/18/news160.html
2021/02/19(金) 00:19:51.51ID:L+ophXdU
>>610
無駄な開発費を使わず運用で回避
素晴らしい前例となるだろう
612デフォルトの名無しさん
垢版 |
2021/02/19(金) 00:23:15.86ID:C3yZx8mN
ちょ○○と関わるとろくなことがない
2021/02/19(金) 01:24:10.00ID:yx5Dqo8R
モバイルPASMOはXamarin.Formsだけど快調だよね
614デフォルトの名無しさん
垢版 |
2021/02/19(金) 04:01:43.97ID:FXdtalV2
.NET6ぼちぼち色々話出てきてるけど、まあweb含めたクロスプラットフォーム開発の一手法として役立ちそうだから期待してるわ
2021/02/19(金) 11:27:45.39ID:L+ophXdU
MSの良いところは時代遅れになったら丸ごとリライトしてくれること
Windows、Office,VisualStudioなど主要アプリ以外でも定期的に見直してくれる
その波にXamarinが加わるならとても良い事だ
2021/02/19(金) 11:45:53.70ID:1FoLeUG6
デプロイ王子ってXamarinじゃなくてAzureの人なのか
アイツのせいでXamarinがこんだけ叩かれてるのにAzureがノーダメージってのもなんかやり切れないな
2021/02/19(金) 12:30:01.73ID:U8GNmkZs
自意識過剰の被害妄想
世間的には叩くというほど注目されてない
むしろ>>610の通りまったく問題解決してないのに事態を終息させて無理やり幕引きされた感すらある
618デフォルトの名無しさん
垢版 |
2021/02/19(金) 15:27:46.30ID:LoU7pdW5
>>606
>こんなレアなタイミングで発生する不具合が

人間はレアだと思っててもCPU的には全然レアじゃない
人間と宇宙と地球と地震の時間感覚の差と似たようなもの
2021/02/19(金) 19:11:32.87ID:jyoDrjH8
Covid19RadarのリポジトリがArchivedになってるな
2021/02/19(金) 19:16:05.90ID:fFbWPHDZ
cocoaのほうは昨日の修正反映されてるような
見てもわからんが
621デフォルトの名無しさん
垢版 |
2021/02/19(金) 19:19:43.08ID:FXdtalV2
>>618
いやレアだろw
バックグラウンドタスクで絶妙のそのタイミングでターミネートされたら、だろ?
まあ母数が多いからってはあるけどな
2021/02/19(金) 19:33:07.22ID:h/t0+GoU
こんにちは母数警察です
2021/02/19(金) 19:37:42.70ID:sgd+b+f6
>>622
知らんかった
2021/02/19(金) 20:20:30.64ID:5XBGozKf
>>621
ファイルIOはブロックされるので可能性が低いというわけではない。
2021/02/19(金) 20:24:52.82ID:B4GlCKY0
どうせ、排他処理を知らない香具師だろ
626625
垢版 |
2021/02/19(金) 20:27:54.40ID:B4GlCKY0
データベース(DB)を知らない香具師だろ

DBなら絶対に、transaction を使うから
627デフォルトの名無しさん
垢版 |
2021/02/19(金) 20:50:21.05ID:FXdtalV2
>>624
全体の処理時間がどのくらいでそれがどのくらいの頻度かにもよると思うけどそんなある処理なん?
まあsqliteでも使ってろって感じだな
628デフォルトの名無しさん
垢版 |
2021/02/19(金) 21:44:55.47ID:XfHSOuA3
ブロックするかどうかとは別に遅延書き込みの問題もあるから、レアとは言い切れないでしょ。
2021/02/19(金) 22:54:06.53ID:IvOqRtdU
結局Code for Japanに泣きついてて草
2021/02/19(金) 23:10:34.33ID:fFbWPHDZ
androidのディープスリープやらの省電力で
push通知が受け取れない問題と同じだったのかな
2021/02/20(土) 01:02:55.30ID:ofw3DPR1
>>619
デプロイ王子の方のリポジトリだよね
COCOAの風当たり強くなってきたから
もう無関係だしメンテもしないぞってアピールなんだろうか
2021/02/20(土) 05:06:55.35ID:g0kPqWjI
mauiはゴミ
xamarinの名前を変えただけ

https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-1/
.net 6 preview 1
633デフォルトの名無しさん
垢版 |
2021/02/20(土) 08:46:59.69ID:+6kk6BHB
なんでOSのお作法無視してバックグラウンド処理を長時間やるの?
過去にちゃんとスマホアプリ作った事があればOSにキルされるって分かるだろ
デプロイ王子?とやらが作ったコードの部分が既にそうなってたのか知らんが
少なくともまともにスマホアプリ作った事あるやつならそんな事やらねえだろ
2021/02/20(土) 08:59:12.45ID:rjBT2tQQ
無知?糖質?それともアスペ?
635デフォルトの名無しさん
垢版 |
2021/02/20(土) 09:50:07.95ID:qfgRtS3m
Dozeも知らない男の人って…

Doze とアプリ スタンバイ用に最適化する
https://developer.android.com/training/monitoring-device-state/doze-standby?hl=ja
636デフォルトの名無しさん
垢版 |
2021/02/20(土) 11:36:10.32ID:nMEYQFLr
iOSは?
2021/02/20(土) 11:49:06.42ID:/Nl0Twi7
あーウゼー
2021/02/20(土) 12:06:57.25ID:B7jWfCLx
>>635
それかDOZEより下のレベルでSoC固有のバッテリー最適化とかしちゃってる機種があるので苦労するのよ。
2021/02/20(土) 12:09:45.01ID:SShgC7ya
うっせXamaronは糞
640デフォルトの名無しさん
垢版 |
2021/02/20(土) 12:21:40.56ID:+6kk6BHB
>>638
それはOSのカスタマイズだろ…
アプリのキルとかスリープのタイミングの制御はSoCの役割じゃねえだろ
641デフォルトの名無しさん
垢版 |
2021/02/20(土) 12:36:13.28ID:+6kk6BHB
https://medium.com/mindorks/app-standby-buckets-in-android-ada2d2929350
https://stackoverflow.com/questions/53434668/exclude-android-app-from-being-put-into-standby-bucket
一日一回再起動しないと動作しないって
Android 9以降の自動調整バッテリーでスタンバイバケットに入ってしまう事言ってるの?

アプリのコア機能が影響を受けるんだったら
電池の最適化を無効にするようユーザーにお願いするのは良いみたいなので
それをやってもらえば良いのでは

コア機能に影響が無いのに電池の最適化を無効にするようユーザーにお願いするのは禁止されてるらしい
2021/02/20(土) 14:51:12.70ID:B7jWfCLx
>>640
そうじゃなくて、SoC固有の機能を使ったという意味。OSと言うかBSPだな。
具体的にはMediaTekとかのSoC。
2021/02/20(土) 17:53:13.76ID:BQILx4R0
モバイルはよく知らんが、ユーザーのプロファイルを更新するタイミングだとバックグラウンド処理でkillされるなんて有り得そうもない
バックグラウンドで処理するのは位置情報の記録あたりだろうから、ソレをメインのプロファイルと分けたら修正できるんじゃね?
2021/02/20(土) 19:13:35.51ID:IzqeEwrU
まあ悪いのはOSであってフレームワークではない
2021/02/20(土) 19:49:29.92ID:6HmKYSkg
へえw各国covidアプリはこんなお粗末なバグ出してないのにねw
OSが違うのかな?www
646デフォルトの名無しさん
垢版 |
2021/02/20(土) 20:03:10.69ID:rC363T73
>>645
>へえw各国covidアプリはこんなお粗末なバグ出してないのにねw

各国のcovidアプリの稼働状況や普及率知ってるの?
そのあたりのデータあるのなら見てみたいな
2021/02/20(土) 20:20:12.48ID:GXAg98qT
世界中でexplosure notificationが効いて感染数が減ったって話は聞かない
2021/02/20(土) 21:40:31.59ID:5jEALJXs
プロセス云々以前に
MoveFileが常に成功する前提のコードになってるからねえ
こんな初心者みたいなミスが見過ごされちゃうのはちょっとXamarin.Forms開発者の技術レベルが心配
2021/02/20(土) 21:42:08.24ID:Kl27cWFK
そもそもこんなアプリは世界共通のほうがいいんじゃないか?
650デフォルトの名無しさん
垢版 |
2021/02/20(土) 21:45:17.56ID:nMEYQFLr
>>648
そんな全てをチェックしてたらチェックコードが9割くらいになるぞ
2021/02/20(土) 22:09:18.74ID:5jEALJXs
新バージョンのCocoaはXamarin当てにしないで各プラットフォームのPreferece使うように変えてるね
正しい判断w
2021/02/20(土) 22:25:52.95ID:5jEALJXs
>>649
各国の法規制も運用方針もバラバラだから共通化は無理だろうね

>>650
どうして全チェックみたいな極論に行っちゃうんだろ
Xamarin.FormsのDeserializer.csにリカバリコード入れるだけの話なのに
653デフォルトの名無しさん
垢版 |
2021/02/20(土) 22:32:13.69ID:nMEYQFLr
>>652
全ての箇所にそういうエラー対処コード入れないならそもそも対処されないだろアホか
2021/02/20(土) 22:43:06.65ID:GXAg98qT
重要なサンプリングデータはgoogle,apple apiですでに世界共通
その先を世界共通にしてもなにもいいことがない
世界共通のサーバーと共通の運用して
cocoaがワールドcocoaになるだけ
2021/02/20(土) 22:55:11.58ID:5jEALJXs
>>653
Xamarin.Formsの中でファイル書込みしてるコードなんて数箇所しかないよ?
プラットフォーム差異を吸収できるように当然ファイルIOは一箇所に集約するからね

もしかしてコピペで類似コード量産してしまうタイプの人かな?
656デフォルトの名無しさん
垢版 |
2021/02/20(土) 23:20:22.02ID:nMEYQFLr
>>655
チンパンジーは理解できないならバナナでも食ってろよw
2021/02/21(日) 03:50:31.99ID:4IzJoCBd
特技は前足でキーボードが打てます!
2021/02/21(日) 05:24:26.92ID:wBAcmDfl
文字の読み書きができます!
2021/02/21(日) 07:57:43.29ID:yFTqsOBX
_-.~!#$%&'()*+,/:;=?@[]
660デフォルトの名無しさん
垢版 |
2021/02/21(日) 08:17:42.57ID:zSeiBgEP
日本マイクロソフトも何もせず金もらったみたいだし
Windows使うのやめます

3億だか4億だか税金使ったけど何に使ったか内訳は一切公表出来ないって
国民を馬鹿にしてるにもほどがある
MSも8千万円以上ガメただろ
2021/02/21(日) 08:36:57.04ID:T1guQ9KS
勝手にやめれば?
いちいち宣言しなくていいよ
2021/02/21(日) 10:08:27.80ID:gtcxpqGP
3年前から糞を糞と見抜いていた俺様を称えよ
2021/02/21(日) 10:45:02.27ID:WPHfWPTh
>>660
こんな世の中に何の影響のない宣言はなかなかないな
2021/02/21(日) 13:35:41.43ID:HEuDJgaX
>>646
バグの話してんのに何で稼働状況とか普及率の話になるの?
665デフォルトの名無しさん
垢版 |
2021/02/21(日) 13:40:00.28ID:u2qGdVDT
でも公表したらお前ら怒るんだろ?

だったら公表するわけないだろ。
2021/02/21(日) 16:31:11.03ID:08LbgH3W
cocoaのダウンロード数は2月2日時点で2500万
https://pc.watch.impress.co.jp/docs/news/1298/554/amp.index.html

他の国
https://news.yahoo.co.jp/byline/kazuhirotaira/20210208-00221522/

中国はほぼ100%
アプリの健康状態を提示しないと交通機関や施設の利用ができないから入れるしかない模様

各国様々だけど基本機能が何ヶ月も動いてなかったなんて醜態晒してるのは日本だけかな……
667デフォルトの名無しさん
垢版 |
2021/02/21(日) 18:07:11.23ID:f5PeUZHs
わざわざオープンソースにしてgithubに公開して
バグ報告をガン無視するとかなかなか出来ることじゃない
2021/02/21(日) 18:55:29.58ID:+7HtA2oX
オープンソースだろうが何だろうが開発元が適当だとどうしようもない
今回はもっと早くに発注元の厚労省が動くべきだった

利用規約
(連絡方法)
第14条 本アプリに関するアプリ利用者から厚生労働省への連絡は、本アプリ内又は厚生労働省の新型コロナウイルス感染症対策に関するウエブサイト内に掲載し、厚生労働省が指定する方法により行っていただきます。
669デフォルトの名無しさん
垢版 |
2021/02/21(日) 19:16:31.83ID:u2qGdVDT
オープンソースってそういう物だろ?
670デフォルトの名無しさん
垢版 |
2021/02/21(日) 19:44:23.05ID:/z9ebJlc
>>669
まともなOSSなら透明性の高い運営と意思決定システムを持っている
COCOAの開発は密室で行われててオープンではない
671デフォルトの名無しさん
垢版 |
2021/02/21(日) 20:57:40.00ID:u2qGdVDT
まともなオープンソースなんて無いという意味か?
2021/02/21(日) 21:05:55.99ID:hrwZPsnN
>>629
cocoaはオープンソースではなく、オープンソースのソフトウェアを流用したアプリ
2021/02/21(日) 21:08:55.16ID:gtcxpqGP
トヨタもEV化の流れについていけず脱落しそうだな
これも俺が5年以上前から予言していたことだ
俺には未来が見える俺様の先見の明を称えよ
2021/02/21(日) 21:13:19.87ID:au4runfq
お前自身の生活は5年前に想像していた通りなのかい?
2021/02/21(日) 21:36:23.71ID:XINJHcqq
予言とか占いとか、コロナ予想できなかった時点でゴミなんだわ
それ差し置いてこういう技術が発達しますとか、何の意味があんだよ
2021/02/21(日) 22:12:38.97ID:8swn9U9q
>>675
ノストラダムスの大予言、コロナ当てはまるよ
予言では世界が暗黒で包まれて日本発の何かで世界が助かるっていうような記述
677デフォルトの名無しさん
垢版 |
2021/02/22(月) 07:26:16.93ID:4+fCbbxm
>>667
普通のOSSなら開発元が放置してたら有志がforkしてバイナリを作成して公開したりするけど
COCOAはそういったことができるソフトじゃないもんな
2021/02/22(月) 07:48:22.14ID:FcqVxYs3
>>677
そうなん?
何が障害で?
2021/02/22(月) 07:54:28.35ID:MoI0smQG
国に1つ
2021/02/22(月) 10:13:10.61ID:7HvxXySV
国に一つの他に国の保健機関以外はストアでの公開を認めないようにGoogleとAppleが規制している
2021/02/22(月) 12:27:47.57ID:FcqVxYs3
apk直はダメなん?
2021/02/22(月) 14:01:20.70ID:G30bzgiW
cocoa以外cocoaじゃないの
2021/02/22(月) 14:28:38.33ID:OZ8r/u1n
>>673
トヨタが用意してないわけないだろ
頭悪すぎて話にならんw
2021/02/22(月) 19:10:47.78ID:xEyHTqnM
>>677
ソース自体はforkして改変してもいいんじゃないの?
リリースしなければいいだけで
2021/02/22(月) 19:32:47.79ID:yl5oNW61
テスラの株価がトヨタを超えたの知らんのか
2021/02/22(月) 22:18:27.52ID:6pUzX7QN
>>685
それがなんか関係あるの?
687デフォルトの名無しさん
垢版 |
2021/02/24(水) 20:43:50.85ID:DPzL4ixX
トヨタ株が上がればXamarinが羽化する
688デフォルトの名無しさん
垢版 |
2021/02/24(水) 21:23:41.02ID:JAk7stQ+
UnityのuGUI記述ライブラリ『Mux』をオープンソース化いたしました
https://www.pixiv.co.jp/2021/02/24/151803

コードホスティングプラットフォーム『GitHub』に、Unityで利用できるuGUI記述ライブラリ『Mux』をオープンソースソフトウェアとして公開しました。
pixiv insideに詳細を解説した記事を公開しています。

ライブラリ名:Mux
URL:https://github.com/pixiv/Mux
ライセンス:Apache-2.0
概要:
uGUIとはゲーム開発などに用いられるUnityのアプリケーションで使うことができるUIツールキットです。
これにXamarin.FormsのXAML処理系とデータバインディング機能を統合することで、UIの記述を容易にします。
689デフォルトの名無しさん
垢版 |
2021/02/24(水) 21:24:50.11ID:/ijFpzJL
>>688
板のルールをよく読んでください。
宣伝は禁止です。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況