Cluster Tech Blogははてなブログへお引越ししました 引き続きそちらで記事を発信していきますので、ぜひご覧ください!

「開発者」のつらいところだな。 ※この記事は Luup Developers Advent Calendar 2022 の19日目の記事です。 久しぶりに記事を書きます。こんにちは。tarunonです。Luupではアドバイザーとしてお世話になっています。日々の開発方針の壁打ちや、パフォーマンスチューニングなど、お手伝いさせていただいています。 その中で、今年の1〜3月に、LUUPアプリのパッケージマネージャーをCocoaPodsからSwiftPMへの置き換えを行いました。この記事は当時のまとめとなります。 SwiftPMが使いたい! SwiftPMが発表されてしばらくが経ち、最初は無かった開発に必要な機能(Bundle追加、pre/post build script)も揃ってきましたので、そろそろSwiftPMを依存解決ツールとして取り入れる機運が高まってきてるのではないのかと思います。
こんにちは。CYBIRD Advent Calendar 2022、20日目担当の@yuki_utsumiです。 普段は品質管理部エンジニアとして業務の自動化などをしています。 アドベントカレンダー19日目の記事は@namikoroさんの「現場エンジニアが担当するカジュアル面談のいろは」でした。私もカジュアル面談の際はかな〜り参考にさせてもらいました。ぜひ読んでみてください。 今回は、私が社内で運用しているApp Store Connectの情報を取得してくる仕組みについて紹介します。 どんな仕組み? 現在、社内ではAppleアプリの審査内容に変更があると、その内容がslackに通知されるbotを運用しています。 審査状況を人が監視する必要がなく、何か異常があった場合にはすぐに対応できるので負担削減に一役買っています。 ここではApp Store Connect APIを利用して審査状況を
この記事は Unity Advent Calendar 2022 の18日目の記事です。 Unityには Low-level native plug-in interface と言う機能が存在しており、こちらを利用することでUnityが内部的に持っている各プラットフォーム向けの低レベルな GraphicsAPI にアクセスすることが出来るようになります。 じゃあ具体的にこれで何が出来るのか?と言うと、例えば今回話す iOS 向けの場合には「Unityが持つMTLCommandEncoderをフックして追加で描画命令を挟んだり、若しくはこちらを終了させて自身でMTLCommandEncoderを追加する」と言ったことが行えるようになります。 実装例としては Unity 公式のリポジトリにてサンプルプロジェクトが公開されてますが、今回はこちらを参考に同じ例を再実装する形で所々補足しつつ解説して
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 本記事は iOS Advent Calendar 2022 の16日目の記事です。 昨日は @am10 さんで「Vision.frameworkでクレジットカード番号を読取る(Swift)」でした。 iOS 14.0以降で使えるSwiftUIの主なAPIを、OSバージョンごとに紹介します。 担当アプリのサポートバージョンが更新された際、新しく使えるAPIの確認に使っていただけると幸いです。 環境 OS:macOS Ventura 13.2 Xcode:14.3 (14E222b) Swift:5.8 iOS 14.0+ Sta
はじめに スマートフォンの近距離無線通信といえば、みなさん Bluetooth, Wi-Fi, NFC あたりを思い浮かべるでしょう。実はiPhoneでは、UWB(超広帯域無線)というもう一つの無線通信があることをご存知でしょうか。 iPhone11 から iPhone に標準搭載されるようになった Apple U1チップ。Apple製デバイスをUWBに対応させる専用チップで、一般向け製品に UWB が搭載された初のケースです。特に近距離の正確な位置測位に強く、他にはないポテンシャルを秘めています。 しかし、LiDARスキャナの話題性に比べ、こちらはあまり使われているアプリを見ることがありません(Apple公式の「探す」アプリくらい?)。今回はそんな UWB と、Apple の UWB 技術を簡単に使える開発者向けフレームワーク「NearbyInteraction」についてご紹介いたします
はじめに 久々の記事投稿となります,R&D ユニットの久保です. OPTiM が開発している OPTIM Geo Scan では iPhone や iPad 上で巨大な点群ファイルを扱うため,メモリ不足によってクラッシュを引き起こすことがないように空間計算量には非常に気を遣って開発しています.OPTiM Geo Scan は LiDAR スキャナを搭載した iPhone や iPad Pro に対応していますが,特に iPad Pro ではメモリの大容量化が進んでいます.どうせならこの大容量なメモリを使いこなしたい!ということで iPadOS 15 における変化,そして 2022/10/25 にリリースされた iPadOS 16.1 における変化をまとめてみました. この記事では Xcode 14.0.1 と iPadOS 16.1 を使用しています. はじめに iPadOS における A
本記事は Ionic Framework / Capacitor / Stencil Advent Calendar 2022 の11日目の記事です。 Trapezeは、YAMLファイルからモバイルアプリケーションを構成・管理するために生まれた新しいNode.jsツールです。 アプリケーションのバージョン管理や、iOSのplistに書く「カメラのパーミッション許可をもらう理由」などを毎回、XcodeとAndroid Studioを開いて、そのプロジェクトのファイルを開いて、いちいち書くのは面倒ですよね。実務上の問題もあります。iOSとAndroidの両方が同じバージョンなのに、わざわざ手作業で別々に書くことは何かの意味がありますか?ましては、Webアプリケーションと3プラットフォームで開発していて、WebアプリケーションはCIのバージョンタグを使って、package.jsonから自動でバー
交通機関だけでなく、今や普段のお買い物でも手放せなくなったSuica。スマホにチャージして決済するモバイルSuicaを使っている方も多いことでしょう。 実はモバイルSuicaは複数のデバイスで1つのアカウントを共有することができません。機種変更の際、アプリをインストールするだけだとアカウントの移行ができず、戸惑う方もいらっしゃいます。そこで今回はモバイルSuicaのデータ移行方法をご紹介します。 iPhoneは「Wallet」アプリ(写真=左)、Androidは「おサイフケータイ」アプリ(写真=右)でひも付けているとモバイルSuicaが使える 移行元のデバイスからSuicaを削除する必要がある 冒頭でもお伝えした通り、Suicaは複数のデバイスにアカウントを登録できない決まりになっています。そのため、移行元のデバイスと新しいデバイスの両方で同じSuicaのアカウントを共有することができませ
※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。 Tenorshareが、USBケーブル不要でMacと同じWi-Fi接続でiPhoneのGPS位置情報を柔軟に調整するソフトウェア「Tenorshare iAnyGo Ver.3.3.1」をリリースしています。 移動速度の柔軟な調整により、シミュレーションがもっと現実的になり、地理的な制限はありません。 最新バージョンではケーブル不要となり、Wi-Fiだけで位置情報を変更/移動することがより簡単に行えるようになっています。 お使いのiOSデバイスをUSBケーブルまたはMacを同じWi-Fiに接続し、検索ボックスに転送したい住所/ GPS座標を入力し「変更開始」をクリックすると、iPhone・iPadの位置情報を変更することが可能です。
はじめに VisualStudioと.NET MAUIを使うとMac無しでiOSアプリをデバッグすることが簡単にできるようになりました。 今回はその方法についてご紹介します。 WindowsだけでiOSアプリがデバッグできるようになる利点 1.デバッグの際わざわざMacを引っ張り出してこなくてもよくなる 2.Macを買わなくても済む 3.Windowsの便利ツールを生かした環境でそのままアプリの開発からデバッグまでできる。PowerToysはいいぞおじさん「PowerToysはいいぞ~」 必要なもの 1.AppleDeveloperProgramに登録・・・AppleDeveloperProgramに登録しないとiOSデバイスのデバッグはできません。(どうせアプリをストアに出すのにAppleDeveloperProgramは必要だからこの機会にでも登録しなさい。(年額13000円程度))
このように見事にバラバラなため、それぞれの OS でビルドまたは発行するジョブを書いていく必要があります。面倒ですね。 ビルドだけであれば Windows で全てビルド可能ですが、private リポジトリで実行することも考慮すると可能な限り Linux で済ませたいところです。 今回は発行まではせず、net7.0-android は Linux、他は Windows でビルドだけしてみます。 Linux 上で Android 向けビルドができるように修正 VS 2022 の .NET MAUI アプリテンプレートからプロジェクトを作成した場合、Linux 上でビルドを実行すると下記のようなエラーが発生します。 $ dotnet build MauiSandbox/MauiSandbox.Net7.csproj -c Debug -f net7.0-android MSBuild vers
株式会社サムザップで SRE をしているれおすけです。サムザップ AdventCalendar 2022 の6日目の記事です。 昨日は @ohbashunsuke さんの【知らないと損する】デザイナー向け5つのUnityテクニックでした。 背景 スマートフォンでのアプリ開発をしていると何かと気になるのが端末温度です。 第四世代以降の iPhone/iPad/iPod touch は高温になりすぎた場合に本体を保護する機能が組み込まれており、温度が上限を超えると警告メッセージが表示されます。その状態になると、本体の電源を切って、端末温度が冷えるまで使うことができません。 もともと、カクカクした描写にならないように処理の負荷を考慮したり、パフォーマンスを計測することはやってきています。しかし、一つ一つは負荷のかからない処理でも続けて長く使用することで、端末の温度が上がってしまうケースはあると思
まとめるとこういうことのようです。 App Store Connectにアップロードするということはバイナリを米国に提出するということである。 App Storeにアプリを配信するということは米国の輸出法の適用を受けるということである。 つまりアプリに暗号が組み込まれていたら、米国の輸出コンプライアンス要件、およびアプリを配布する国の輸入コンプライアンス要件の対象となるということである。 だから新しいバイナリをアップロードするたびにコンプライアンス要件を満たしているか毎回確認します(今まで以上に)! 入力方法 いつも通りビルドしたアーカイブを選択すると「コンプライアンスがありません」と表示されるので「管理」をクリックします。 そうするとこのようなダイアログが表示されます。自分のアプリが該当する選択肢を選びます。 AdMobなりなんなりアプリはhttpsで通信するでしょうから、必ずSSL(T
ICOCA やねんけどね 概要 今回の目的 Android と iOS で Suica を読み取ります。 将来の目的 Suica は NFC TypeF でマイナンバーカードは TypeB だそうです。役所系の案件を獲得できるかも知れません。 用語 NFC Near field communication の略で近距離無線通信と訳されています。主に非接触型カードに搭載され、近年のスマートフォンにも搭載されています。 Type 運転免許証やマイナンバーカードなどに使用されています。 Type F (FeliCa) Suica PASMO Edy nanaco などに使用されています。 IDm カード固有の ID です。スマートフォンをピッって当てるだけで読み取れます。Suica で部屋の施錠などしていてカバンにぶら下げている人は危険かもしれません。 システムコード Suica は 0003
はじめに iOS16からSWiftUIに新しいUIコンポーネントが追加されました。 その中にShareLinkというものがあったので使ってみたら驚きの簡単さだったので紹介します。 以前の実装方法 このようにUIKitをうまく使わないと使用できませんでした。 import SwiftUI struct ContentView: View { @State var isSharePopover: Bool = false var body: some View { Button("シェア") { share() } .popover(isPresented: $isSharePopover) { ShareView() } } // iPhone: ハーフモーダル // iPad: ポップアップ func share() { if UIDevice.current.userInterfaceI
Windows、Mac、Android、iOS、TVの間で相互に画面共有(ミラーリング)するアプリ、そしてやり方の紹介iPhoneWindows画面共有ミラーリング在宅勤務 お仕事や授業、ソフト開発など様々なニーズで画面共有という機能が必要です。簡単に言いますと、画面共有(画面ミラーリング)とは、デバイスAの画面をそのままデバイスB、C、Dなどに出力することです。特に今のテレワークやオンラインコース、ライブ配信などに応用されています。 それらの原因で本記事では使いやすい画面ミラーリングアプリ・ソフトをまとめていきます。あらゆる階層の人々が参照でき、皆さんに役立つだと思います。 ApowerMirror 画面ミラーリングにとても人気があるソフトApowerMirrorは、個人、会社やグループユーザーが世界中にたくさんいます。主な機能は画面ミラーリングですが、他に録画、ホワイトボード、スクリー
※1 毎回結果が変わる、途中で再起動またはブラウザがクラッシュする。上限に達している旨の表示が出ない ※2 測定ツールが機能していない? 上記の方法で割り当てたメモリはどのような扱いになるのか? コミットサイズとして計上されるようです。 確認方法はWindowsのタスクマネージャ→詳細→一番上の行に対して右クリック→列の表示からメモリ表示を有効にすると確認することができます。 ワーキングサイズとは? 未使用のメモリ含め、対象のプロセスで確保しているメモリ この領域の未使用メモリはガベージコレクションによって軽量化することが可能です。 ワーキングサイズとは? 実際に利用しているメモリ 参考 まとめ Windows11・macOS・MetaQuest2 約4GBで安定 iOS 全体的に不安定(実際WebGLアプリ中も一定以上のメモリを使用すると不安定になる) 4GBRAMモデル以上の場合、本体
UIWindowSceneを取得しなくても良くなった (面倒くさかった) コード EnvironmentValuesをカスタマイズする方法 iOS13 - 16まで可能な限りコードを共通化する。 iOS15_requestReviewをEnvironmentValuesに追加、 iOS 16以降: RequestReviewActionを返す。 それ以外: iOS15_RequestReviewActionを返す。 iOS15_RequestReviewActionのcallAsFunction()で各OS用のrequestReview()を呼ぶ。 ※ iOS 15のサポートを終了したらiOS15_...を削除して、下記カスタマイズを使用しない方法のコードに変更する。 import SwiftUI import StoreKit struct ContentView: View { @En
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く