- 投稿日:2020-11-04T14:50:30+09:00
Apple Developer と Google Play の公式テスターについて
概要
久々に調べて毎回ググるのが面倒だからここにまとめる。
iOS/Androidのアプリ開発で、公式のテスター登録について次の内容となる。※一部公式の内容を抜粋しているため、アップデートがあった際に詳細が異なる可能性があり、この記事をそのまま鵜呑みにせず必ず公式ページを確認するようにお願いします。
TestFlight
内部テスター
- チームでAccount Holder、Admin、App Manager、Developer、Marketingのいずれかの役割を担うメンバーを最大100人まで追加可能。
外部テスター
- Eメールアドレスを使用するか、任意のユーザーに対してAppのテストに参加する機会を開くパブリックリンクを有効にして共有することで、最大10,000人の外部テスターを招待可能。
Play Console
内部テスト版
- メールアドレスを使用して内部テスターのリストを作成できます。内部テストには、アプリごとに最大 100 人のテスターが参加可能。
クローズドテスト版
- メールアドレス
- クローズド テスト版では、メールアドレスを使ってテスターのリストを作成でき、合計 200 件のリストを作成でき、各リストには最大 2,000 人のユーザーを登録が可能。
- リストは 1 トラックにつき最大 50 件作成が可能。
補足
上記は一部の情報のみ抜粋しているためさらに詳細は公式ページを確認してください。
- 投稿日:2020-11-04T14:33:01+09:00
[Flutter] [Navigator] 次画面へ複数の値を渡す方法
Navigatorによる画面遷移時に次画面へ値を渡す方法です。
SQLiteやSharedPreferencesで保持する必要はなく、ライトに値を渡したいときにご参考になればと思います。渡したい値が1つの場合
変数 hogeを次画面に渡す例
第3引数のargumentsに変数 hoge をセットします。
遷移元
String hoge = 'hoge'; Navigator.pushReplacementNamed( context, '/next_path', arguments: hoge );遷移先
final String hoge = ModalRoute.of(context).settings.arguments;渡したい値が複数ある場合
変数 hogeId, fuga を次画面に渡す例
渡したい値をまとめたクラスを作成し、そのオブジェクトを渡します。
名前はなんでも良いので、ViewAToBArguments というクラス名で以下のように作成するとします。ViewAToBArguments.dartclass ViewAToBArguments { final int hogeId; final String fuga; ViewAToBArguments(this.hogeId, this.fuga); }第3引数のargumentsに ViewAToBArguments オブジェクトをセットします。
遷移元
int hogeId = 1; String fuga = 'fuga'; Navigator.pushReplacementNamed( context, '/next_path', arguments: ViewAToBArguments(hogeId, fuga) );遷移先
final ViewAToBArguments viewAToBArguments = ModalRoute.of(context).settings.arguments; int hogeId = viewAToBArguments.hogeId; String fuga = viewAToBArguments.fuga;
- 投稿日:2020-11-04T14:08:33+09:00
iOS記事まとめ8
MVVMの基礎概念と実用についてそれぞれわかりやすかった記事
http://ugaya40.hateblo.jp/entry/model-mistake
https://blog.77jp.net/development-rules-for-mvvm-that-a-beginner-should-be-conscious-ofCombineでHTTP通信を実装する
https://dev.classmethod.jp/smartphone/iphone/use-combine-for-http-networking/Swift4.1からnil要素を除いた配列を生成するArrayのflatMapメソッドは
compactMapメソッドにリネームされたと言う話
https://qiita.com/amarillons/items/e897ca495470963249feWebViewの戻るボタン(イベントをフックする方法など)
https://asahima.hatenablog.jp/entry/2017/01/15/000000Swiftの予約語一覧
https://qiita.com/ezura/items/d011c9b13c70055b6e57RxSwift入門
https://qiita.com/k5n/items/17f845a75cce6b737d1eSwiftのアニメーションライブラリ一覧
https://github.com/IBAnimatable/IBAnimatable
https://github.com/MengTo/Spring
https://github.com/HeroTransitions/Hero
- 投稿日:2020-11-04T13:58:02+09:00
iOS記事まとめ7
Lottie(アニメーション)
https://lottiefiles.com/UIBezierPath(線の描画)
https://program-life.com/648
https://dev.classmethod.jp/smartphone/iphone/play-uibezierpath-1/Swiftのunittest
https://qiita.com/s-harada/items/5a8c12b0c456d155ba53AutoLayoutの制約を使ったアニメーション
https://qiita.com/roana0229/items/6a3272151262ea89e9ffCABasicAnimation(重い処理のアニメーションに向いている)
https://i-app-tec.com/ios/cabasicanimation.html
https://developers.cyberagent.co.jp/blog/archives/16638/Appleのアプリ公開まで
https://qiita.com/kenny_J_7/items/92378e2a09bee6080677SkeltonView
https://github.com/Juanpe/SkeletonViewTabPageViewController
(保守されなくなったPagingMenuControllerの代替になりそう)
https://techblog.zozo.com/entry/tab_page_viewcontroller
- 投稿日:2020-11-04T13:51:08+09:00
iOS記事まとめ6
RxSwiftとMVVMの登場人物
https://gist.github.com/mironal/9eead7a5d812174cec238d68615f1dd6RxSwiftに苦手意識がある人向け
https://blog.yokurin.app/entry/2019/04/30/180022PromiseKit(非同期処理)
https://github.com/mxcl/PromiseKitSVProgressが使えなくなる
https://qiita.com/edm17/items/a4b7163201c779895de3KickstarterのMVVM
https://qiita.com/muukii/items/045b12405f7acff1a9fdSwiftUIチートシート
https://fuckingswiftui.com/UXデザイントレンド
https://note.mu/ryoheey_0417/n/nd427ffef1bc3#weGx6流体インターフェイスを構築するアニメーション
https://medium.com/@nathangitter/building-fluid-interfaces-ios-swift-9732bb934bf5レポジトリパターン
https://speakerdeck.com/naoty/repository-pattern-in-swift
- 投稿日:2020-11-04T13:48:20+09:00
iOS記事まとめ5
Macのストレージ圧迫のシステム欄の犯人
https://qiita.com/reikubonaga/items/48987d35fb10b7de6bcciOSのアーキテクチャ比較サンプル
https://medium.com/@rockname/clean-archirecture-7be37f34c943Macのカーソル強制バインディング
https://qiita.com/saboyutaka/items/489ed2ffe4c1187b65a7#%E4%BB%96%E3%81%AB%E3%82%82%E3%81%84%E3%82%8D%E3%81%84%E3%82%8DMacのカーソル移動ショートカットなど
https://kukka.me/mac-arrowkey/SwiftUIでMapKit
https://www.hackingwithswift.com/books/ios-swiftui/advanced-mkmapview-with-swiftui
https://www.dev4app.com/archives/58346305-how-to-focus-google-maps-camera-on-user-39-s-current-location-at-startup-using-swiftui-views.htmliOSのライブラリの実装例やオープンソースのアプリを紹介しているサイト
https://iosexample.com/ScrollViewを使う上での用語の解説、ビューの移動のさせ方など
https://qiita.com/shiba1014/items/ca0ac8d3a4a82a857bba
- 投稿日:2020-11-04T13:42:29+09:00
iOS記事まとめ4
Flutterチャットアプリを支える技術
https://kwmt27.net/2020/03/26/the-technology-behind-flutter-chat-app/(可愛い)Flutter入門
https://priceless-bardeen-f24139.netlify.app/良いコードの書き方
https://qiita.com/alt_yamamoto/items/25eda376e6b947208996RxSwift入門 非同期処理
https://qiita.com/k5n/items/98aaf84fc164f7a5502c#observablecreateSwiftにおけるclassとstructの使い分け
https://cockscomb.hatenablog.com/entry/choosing-between-classes-and-structuresRxSwiftでsubscribeをネストされると困る
https://qiita.com/yimajo/items/393ec9b3b445ec170ce4Flutterのconditional statementの使い方
https://stackoverflow.com/questions/49713189/how-to-use-conditional-statement-within-child-attribute-of-a-flutter-widget-cenSwift5 ニコニコ動画やLineにあるようなスクロールによって開閉するヘッダー
https://qiita.com/Hajime-Ito/items/2ef143b02ba65d43001dSwiftでスクレイピング
https://code-schools.com/swift-scraping/
- 投稿日:2020-11-04T13:36:40+09:00
iOS記事まとめ3
SwiftでCore MIDI
https://qiita.com/yohki/items/cb8820026730c7729a2eFlutterのパフォーマンス改善
https://note.com/shogoyamada/n/n3b752f2adf2eARKitの入門者向け記事まとめ
https://techpartner.jp/blog/category/ar%e3%82%a2%e3%83%97%e3%83%aa%e9%96%8b%e7%99%babooleanを返却するメソッド名、変数名の付け方
https://tinyurl.com/yyrp4a5xiOS14で追加されるUIコンポーネントの使い方
https://qiita.com/MaShunzhe/items/a4db494b1c07c9e5b5baSwiftUI LazyVGrid/LazyHGrid
https://qiita.com/H_Crane/items/2e8e883685b976ec8555Swift、Dateの王道
https://qiita.com/rinov/items/bff12e9ea1251e895306JSONデータからモデルを自動生成
https://dev.classmethod.jp/articles/quicktype/
- 投稿日:2020-11-04T13:31:56+09:00
iOS記事まとめ2
FlatIcon
https://www.flaticon.com/search?word=Covid&style_id=15
このサイト1つでアイコンに困らなくなる
色もサイズも自分好みで取得可能売れるアプリにするためにした工夫(UXノウハウ)
https://note.com/toconakis_tech/n/nda6cae85e410いらすとやでわかるDI(iOSじゃないですが)
https://qiita.com/keidroid/items/7f0112502a08e2107c67メモリリークをXcodeでチェックする
https://dev.classmethod.jp/articles/ios-memory-leak-check-and-prevent-190508/associatedTypeのあるprotocolにキャストする
https://medium.com/finc-engineering/casting-to-protocol-having-associatedtype-e5854994a97fFlutter Providerの使い方と解説
https://itome.team/blog/2019/12/flutter-advent-calendar-day7/Xcodeのビルドを早くする話
https://t.co/j5Yq9fIrQO?amp=1
アンチパターンが書かれているARKitのための3D数学
https://qiita.com/kboy/items/775633fe3fd6da9c5fb6
- 投稿日:2020-11-04T13:28:19+09:00
iOS記事まとめ
Flutter学習手順
https://medium.com/flutter-jp/flutter-learning-c5640c5f05b9SwiftUIの@がついてるやつのまとめ的な記事
https://qiita.com/shiz/items/6eaf87fa79499623306aiOSとmacOSアプリで知っておくべき違い
https://techblog.timers-inc.com/entry/menu_for_macos_catalystDispatchWorkitemによる非同期処理のキャンセル処理
https://qiita.com/umireon/items/f2cf44621070e749d73eSceneKit(ARKit)のパーティクルシステムについての紹介記事
https://qiita.com/kboy/items/a1cd8dff40dff45d5b9e↑の詳細パラメータなど
https://appleengine.hatenablog.com/entry/2017/08/23/202915Xcode12のアップデート内容
https://qiita.com/shira-shun/items/5363bdb3f1d7424f7329未経験から1100万DL超えまで行けた僕のアプリの作り方
https://zenn.dev/aa36841289911/articles/79e394cc45416aa1908e
- 投稿日:2020-11-04T11:18:05+09:00
Vue3ベースのIonic-Vue(β)で実機デバッグするまで。
Vue3が発表されてIonic-Vueがβで公開されて少し経ったのでどんなもんか触ってみました。
諸事情あってWindowsで開発環境を構築していますがMacでもほぼ差異なく動きましたionic/cliをglobalにinstallします。
npm install -g @ionic/cli@testingmy-appはプロジェクト名なので任意に
ionic start my-app tabs --type vue --tag vue-beta1分程待つと
Your Ionic app is ready! Follow these next steps: - Go to your new project: cd ./vocbook - Run ionic serve within the app directory to see your app in the browser - Run ionic capacitor add to add a native iOS or Android project using Capacitor - Generate your app icon and splash screens using cordova-res --skip-config --copy - Explore the Ionic docs for components, tutorials, and more: https://ion.link/docs - Building an enterprise app? Ionic has Enterprise Support and Features: https://ion.link/enterprise-editionionic serveすると無事動作は確認できました!
Androidアプリとしての開発をしたいので一旦
npm run build
します
ここも特に問題なく正常終了。dist配下に諸々生成されるのでnpx cap add androidまたは
capacitor.cmd add androidでAndroidのネイティブプロジェクトを作ります。
? What platform would you like to add? android > capacitor.cmd add android √ Installing android dependencies in 24.90s √ Adding native android project in: √ Syncing Gradle in 652.80μp √ add in 24.97s √ Copying web assets from dist to android\app\src\main\assets\public in 112.61ms √ Copying native bridge in 3.06ms √ Copying capacitor.config.json in 4.43ms √ copy in 146.39ms √ Updating Android plugins in 9.65ms Found 0 Capacitor plugins for android: √ update android in 42.47ms Now you can run npx cap open android to launch Android StudioAndroid Studioで開けといわれるので確認します
npx cap open androidで自動的にAndroid Studioが起動するのでgradleのsyncなんかを済ませて…
実機で動作しました!
まだ全然詳細は見れていないですがmanifestのパーミッションがもりもりになっていて、使う予定がないものもがっつり入っているので検証時は楽ですがリリース時には見直しが必要そうです。
<uses-permission android:name="android.permission.INTERNET" /> <!-- Camera, Photos, input file --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- Geolocation API --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-feature android:name="android.hardware.location.gps" /> <!-- Network API --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- Navigator.getUserMedia --> <!-- Video --> <uses-permission android:name="android.permission.CAMERA" /> <!-- Audio --> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>ほぼドキュメント通りでハマりどころもなく実機検証までできたので、このペースでβが外れてくれるとうれしいですね。
- 投稿日:2020-11-04T08:41:54+09:00
[Swift5]スプラッシュ画面の作成方法
スプラッシュ画面とは
アプリケーションを起動した時に表示される画面をスプラッシュ(Splash)画面、またはローンチスクリーン(Launch Screen)と呼びます。アプリケーションにおいては、ユーザーが操作することのできない数少ない画面です。
例を挙げるとtwitterやLineのアイコンが中央に表示されるアノ画面ですね。
デフォルトではアプリケーションを立ち上げた時に真っ白な画面が表示されるようになっております。
作成方法
スプラッシュ画面はXcodeの
LaunchScreen.storyboard
から作成できます。
このようにviewに色をつけてみましょう。そうすると。
アプリケーションを立ち上げたときのviewの色が変わりました。基本的な作成方法は以上です。
文字を入力したい場合などはlabel
を貼り付けて編集すればOKです。注意点
ひとつ注意点ですが、
LaunchScreen.storyboard
とControllerは紐付けられないようで、紐付けてビルドするとエラーが発生します。なので、storyboardを使わずにコードでスプラッシュ画面を作成したい方、また動的なスプラッシュ画面を作成したい方は、新規ファイルを作成し
Splash.storyboard(例)
を作成し、作成したstoryboardとControllerの紐付けをおこない、project/general/App Icon and Launch Images/Launch Screen File
で作成したstoryboard名を選択してあげればControllerと紐付きます。最後に
私も今回初めてスプラッシュ画面を触ったので至らない点がありましたらコメントにてお声がけいただければと思います。最後まで読んでいただきありがとうございます!