タグ: mac os

  • Flutter build iOS error ビルドできない

    Flutter build iOS error ビルドできない

    flutter build ios

    としたところ、以下のようなエラーが出てきた。

    ══════════ No valid code signing certificates were found You can connect to your Apple Developer account by signing in with your Apple ID in Xcode and create an iOS Development Certificate as well as a Provisioning Profile for your project by:   1- Open the Flutter project's Xcode target with        open ios/Runner.xcworkspace   2- Select the 'Runner' project in the navigator then the 'Runner'   target      in the project settings   3- Make sure a 'Development Team' is selected under Signing &   Capabilities > Team.      You may need to:          - Log in with your Apple ID in Xcode first          - Ensure you have a valid unique Bundle ID          - Register your device with your Apple Developer Account          - Let Xcode automatically provision a profile for your app   4- Build or run your project again   5- Trust your newly created Development Certificate on your iOS   device      via Settings > General > Device Management > [your new      certificate] > Trust  For more information, please visit:   https://developer.apple.com/library/content/documentation/IDEs/Conce   ptual/   AppDistributionGuide/MaintainingCertificates/MaintainingCertificates   .html  Or run on an iOS simulator without code signing ══════════════════════════════════════════════════════════════════════ ══════════ No development certificates available to code sign app for device deployment
    ══════════
    No valid code signing certificates were found
    You can connect to your Apple Developer account by signing in with
    your Apple ID
    in Xcode and create an iOS Development Certificate as well as a
    Provisioning
    Profile for your project by:
      1- Open the Flutter project's Xcode target with
           open ios/Runner.xcworkspace
      2- Select the 'Runner' project in the navigator then the 'Runner'
      target
         in the project settings
      3- Make sure a 'Development Team' is selected under Signing &
      Capabilities > Team.
         You may need to:
             - Log in with your Apple ID in Xcode first
             - Ensure you have a valid unique Bundle ID
             - Register your device with your Apple Developer Account
             - Let Xcode automatically provision a profile for your app
      4- Build or run your project again
      5- Trust your newly created Development Certificate on your iOS
      device
         via Settings > General > Device Management > [your new
         certificate] > Trust
    
    For more information, please visit:
      https://developer.apple.com/library/content/documentation/IDEs/Conce
      ptual/
      AppDistributionGuide/MaintainingCertificates/MaintainingCertificates
      .html
    
    Or run on an iOS simulator without code signing
    ══════════════════════════════════════════════════════════════════════
    ══════════
    No development certificates available to code sign app for device
    deployment
    

    解決法

    terminal で ios/Runner.xcworkspace ファイルを開く

    open ios/Runner.xcworkspace
    XCode
    こんな感じで xcode が立ち上がる。

    Xcodeで「Runner」プロジェクトを選択

    「Signing & Capabilities」タブを開く

    私の場合、久しぶりのストアアップロードで規約に同意していないのが原因でした。

    Unable to process request – PLA Update available
    You currently don’t have access to this membership resource. To resolve this issue, agree to the latest Program License Agreement in your developer account.

    StoreConnectから同意したらできました。

    “Automatically manage signing”(自動管理) をチェック

    「Team」のプルダウンから Apple Developer アカウントを選択

    「Provisioning Profile」が作成されるのを確認

    以上です。

    再度以下のコマンドでビルドしなおしましょう。

    flutter build iOS

  • Unity Git 管理 with Git LFS

    Unity Git 管理 with Git LFS

    この記事は?

    Unity のプロジェクトをGitで管理する方法です。SourceTree などを使った方法は直ぐに検索に出てきますが、すでにGitを使ったことがある方に向けた記事です。

    使用環境

    • Apple Silicon M1 MacBook Air
    • 16 Gb
    • macOS Sequoia 15.0
    • Unity 2022.3.31f1

    やり方

    Unityの設定
    .gitignore の作成
    Git LFS

    の3つの設定を順に紹介していきます。

    Unity 側の設定

    Unity のメニューの Edit/ Project Settings を開きます。

    左側のメニューからEditorを選択。

    Asset Serialization という項目があるので Force Text にします。(おそらく標準でなってる?)

    Unity Settings

    シーンやPrefabをテキスト形式で保存する設定のようです。
    Gitでの競合の解決を簡単にするために、バイナリ形式でなくテキスト形式にしました。

    Gitの設定

    Gitで管理したいファイルは下記の通りです。

    • Assets
    • Packages
    • ProjectSettings
    • UserSettings

    必要のないものはignoreに設定します。

    ルートディレクトリに .gitignore ファイルを以下の内容で作成しました。

    # Unity関連の生成ファイルを無視
    [Ll]ibrary/
    [Tt]emp/
    [Oo]bj/
    [Bb]uild/
    [Bb]uilds/
    [Ll]ogs/
    
    # 特定のプラットフォーム関連ファイル
    [Dd]ebugPublic/
    [Mm]emoryCaptures/
    [Uu]ser[Ss]ettings/
    
    # Visual StudioやJetBrains Rider関連
    .vscode/
    *.csproj
    *.unityproj
    *.sln
    *.suo
    *.user
    *.userprefs
    *.pidb
    *.booproj
    *.svd
    
    # その他
    *.swp
    *.lock
    *.idea/
    

    GitLFSの設定

    標準のGit を使っていて、サイズの大きなもののアップロードで警告が出たことはありませんか?

    ゲーム制作では3Dモデルや画像データなどが膨大になってしまうので、これでは厳しいです。

    そこでGit LFS を使用します。

    Git LFS(Git Large File Storage)は、大きなファイルやバイナリファイルを効率的に管理するためのツールです。

    Homebrew で Git LFS をインストール

    インストールしたことがない方はBrew からインストールします。

    https://formulae.brew.sh/formula/git-lfs

    brew install git-lfs

    インストールしたことある方はversion を確認します。

    git lfs --version

    Git の初期設定

    プロジェクトのディレクトリへ移動します。

    cd /あなたのプロジェクトディレクトリ

    Git を初期化します。

    git init

    LFSの有効化をします。

    git lfs install
    Updated Git hooks.
    Git LFS initialized.

    上手くLFSが有効化されると返答されます。

    管理したいファイルタイプを指定します。
    画像と3Dデータが重いので私は下記のように指定しました。

    git lfs track "*.png"
    git lfs track "*.fbx"

    あとは普段通りGit 操作します。

    git add .
    git commit -m "initial commit"

    補足 Git LFS が有効化されているか確認する

    git lfs ls-files

    上手くできていればした画像のように表示されるはずです。

    git LFS

  • Ubuntu Samba ファイルサーバーを外からアクセスできるようにする

    Ubuntu Samba ファイルサーバーを外からアクセスできるようにする

    ❓ これは何?

    前回の記事 では内部ネットワークからファイルサーバーにアクセスする方法を記事にしました。

    今回は外出先で外部のネットワークからファイルサーバーにアクセスするまでの手順をメモにします✍️


    🪴 環境

    サーバー側

    • Distributor ID: Ubuntu
    • Description: Ubuntu 24.04 LTS
    • Release: 24.04
    • Codename: noble
    • samba

    クライアント側 MacBook Air

    • sonoma 14.5(23F79)
    • Apple M1
    • 16GB

    🖐️ 手順

    Samba の IPv6 設定

    ネットワークの確認

    ネットワークインターフェース名を確認します。
    通常、eth0、ens33などの名前が使われます。

    ip addr

    /etc/netplan/01-network-manager-all.yaml の中身は標準では次のとおりです。

    # Let NetworkMnager manage all devices on this system
    network:
      version: 1
      renderer: NetworkManager

    後述の理由で IPv4 ではなく、IPv6 での公開を目指します。
    これであればルーター側の設定がDS-Liteでも問題なくできるはずです。

    smb.conf の設定


    SambaがIPv6でリスンするように設定します。
    /etc/samba/smb.confの[global]セクションに次の行を追加します

    interface = "lo" "enp3s0" "wlpws0"
       bind interfaces only = yes
       smb ports = 445

    🔥 ファイヤウォールの設定

    Sambaが利用する必要なポートをファイアウォールルールに追加します。

    samba用ポートを全開放したい場合
    sudo ufw allow samba

    Sambaでは(137, 138, 139, 445)のポートを使用します。

    外部のネットワークに接続する場合は 445 のみの解放の方がセキュリティリスクが低くなるかと思います。

    sudo ufw reload
    ファイアウォールの設定を再読み込みして、追加したルールを適用します。

    sudo ufw allow from any to any port 445 proto tcp
    sudo ufw reload

    ↑のように書くとTCP用の445のみの開放になります。

    🐏 ufw とは?


    udo ufw reload は、Ubuntuのファイアウォール(UFW: Uncomplicated Firewall)に関連するコマンドです。

    ufw allow では

    • TCP/UDP 137 (NetBIOS Name Service)
    • TCP/UDP 138 (NetBIOS Datagram Service)
    • TCP 139 (NetBIOS Session Service)
    • \TCP 445 (Microsoft-DS Active Directory, Windows shares)

    が解放されます。

    ファイヤウォールの確認

    ufw status で解放されているポートの確認ができます。

    sudo ufw status

    間違って開放した場合は次のコマンドで削除しておきましょう。

    sudo ufw delete allow HOGE

    動的DNSの利用

    サーバー側のIPアドレスが変更されても、接続を確立するために、
    https://noip.com を使ってDDNSを使用することにしました。

    • noip.com でのドメインの作成(sample.ddns.net など)
    • apt install ddclient と設定

    が出来ていることを前提に次に進みます。
    出来ているかは以下のコマンドで確認してみてください。

    sudo systemctl status ddclient

    出来ていない方は、次の記事を参照してください。


    VPN の利用

    Easy-RSA の設定が古い情報だとうまくいかないので、以下を参考にしました。https://community.openvpn.net/openvpn/wiki/EasyRSA3-OpenVPN-Howto

    L2TP/IPsecやOpenVPNを設定し、VPN経由で内部ネットワークにアクセスします。
    これにより、DS-Liteの制約を回避できます。

    sudo apt intall openvpn easy-rsa -y

    PIK ディレクトリの作成と初期化

    make-cadir ~/openvpn-ca
    cd ~/openvpn-ca
    ./easyrsa init-pki

    make-cadir は easy-rsa の機能でOpneVPNの設定を含んだディレクトリを作成できるコマンドです。

    CAのビルド
    このコマンドを実行すると、
    Common Name(eg: your user, host, or server name)[server]:
    と聞かれるので、名前の入力をしましょう。

    ./easyrsa build-ca nopass

    サーバーの証明書の作成

    ./easyrsa gen-req server nopass

    サーバーの鍵の作成

    ./easyrsa sign-req server server

    DHパラメータの作成

    ./easyrsa gen-dh

    クライアント用の証明書と鍵を作成します。
    クライアント名は任意の名前を指定します(例:client1)。

    ./easyrsa gen-req client1 nopass
    ./easyrsa sign-req client client1

    生成した証明書と鍵をOpenVPNのディレクトリにコピーします。

    sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/issued/client1.crt /etc/openvpn/
    sudo cp ~/openvpn-ca/pki/private/client1.key /etc/openvpn/


    /etc/openvpn/server.confファイルを作成し、
    以下の内容を追加します。

    port 1194
    proto udp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    keepalive 10 120
    cipher AES-256-CBC
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3

    OpenVPNサービスを起動し、システム起動時に自動的に開始するように設定します。

    sudo systemctl start openvpn@server
    sudo systemctl enable openvpn@server

    クライアント用の設定ファイル(.ovpn)を作成します。例えば、client1.ovpnファイルを以下の内容で作成します。

    remote の hoge.ddns.net は動的IPの https://noip.com で作成したDNSです。

    クライアント設定ファイルと共に、
    ca.crt、client1.crt、client1.key
    をUSBメモリなどを使ってクライアントデバイス(私の場合はMacBook)にコピーします。

    client
    dev tun
    proto udp
    remote hoge.ddns.net 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca ca.crt
    cert client1.crt
    key client1.key
    remote-cert-tls server
    cipher AES-256-CBC
    verb 3


    ファイアウォール設定でOpenVPNのポートを開放します。

    sudo ufw allow 1194/udp

    クライアント側でやること

    私はMacBook Air を使っているので tunnelblick を使用しました。

    brew install --cask tunnelblick

    Tunnnelblick は先ほどクライアント側(MacBook)に移してきた hoge.ovpn ファイルをドラッグ&ドロップしたらOKです。

    そうすると、個人用かユーザー全体かを聞かれると思うのですが、
    今回の用途では個人用でOKです。


    試したけどやらなかったこと

    ルーター側の設定

    私が使っているルーターは TP-Link Archer AX10 です。
    このルーターでの設定を紹介します。

    私と同様TP-Linkをお使いの場合は https://tplinkwifi.net/ にアクセスして管理画面に入りましょう。

    まず、DS-Lite, MAP-E, V6 プラス の設定ではポートの設定ができないので、
    これ以外を選択する必要があります。(ソース:https://www.tp-link.com/jp/support/faq/2799/
    そのためPPPoE方式にする必要があります。
    それぞれの方式の違いについての記事はこちら

    しかし、普段使いしているルーターと同じ場合 PPPoE に切り替えるとDS-Liteに比べ遅く感じてしまいます。
    結局IPv4 での接続はやめることにしました。


    🥦 まとめ

    そしてブロッコリーも食べた方がいい

  • 【mac os】画像の解像度変える最も簡単な方法

    【mac os】画像の解像度変える最も簡単な方法

    ❓ これは何

    mac os で画像の解像度を純正アプリのみで変更する方法です。

    🛠️ やり方

    Finderで画像を右クリックします。
    このアプリケーションで開く からプレビュー.app を選択します。

    画像が開いたら、右上の「プレビューで開く」ボタンを押します。

    開いたら、ツール/サイズを調整を選択します。

    できたら幅と高さの値を好きに変更してあげましょう。
    縦横比の固定を外すと好きにいじれます。

    このまま保存してもOKなのですが、
    元の写真を残したい場合は、
    ファイル/複製 を選択して保存すると編集したものもどちらも残ります。

    以上です!
    記事をご覧いただきありがとうございました。

  • 【Ubuntu】mac os からリモートデスクトップで接続する

    【Ubuntu】mac os からリモートデスクトップで接続する

    ❓ これは何

    mac os から Ubuntu にリモートデスクトップで接続する方法についてです。

    🪴 環境

    • Distributor ID: Ubuntu
    • Description: Ubuntu 24.04 LTS
    • Release: 24.04
    • Codename: noble

    🛠️ 手順

    🐧 Ubuntu側

    Settingsアプリを立ち上げます。
    左のタブから「System」を選択します。
    (前までSharingにありましたが移動したようです。)

    Remote Desktop を押したら次のような画面になります。
    Desktop Sharing, Remote Control をオンにします。
    Username, Port, Login Details を埋めてください。
    ここで設定したものは mac os 側でのちに入力します。

    🍎 mac os 側

    Microsoft Remote Desktop をダウンロードしましょう。https://apps.apple.com/jp/app/microsoft-remote-desktop/id1295203466?mt=12

    Microsoft Remote Desktop が開いたら、「Add PC」を押しましょう。

    PC name の項目に 「あなたのパソコンの名前.local:ポート番号」と入力しましょう。
    User account を追加しましょう。先ほどUbuntu側で設定したものです。
    最後にGateway からポート番号を入力してください。
    「Save」を押したら完了です。

    接続完了!やったー

Home
About
Blog
Works
Contact