2025/4/7(月)
午前中に某社で面接を受けた。その後予定が無かったのでiOS開発の研究を進めた。
- なんか実機で出すと全画面にならず、画面サイズとしても全画面が取れていないと思ったら、対応デバイスとしてiPhoneを指定していてiPadは指定していなかった。XCodeの設定で直った。
- 対応デバイスの設定をCMakeから出来ないか調べた。
CMAKE_XCODE_ATTRIBUTE_xxで任意のbuildConfigを指定できるらしく、CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY="1,2"を指定することでiPadサポートができた。 - 描画メインループをどう書くかだが、
CADisplayLinkなるものを使うらしい。なお使用には-framework QuartzCoreのリンク指定を要する。 - Vulkan(MoltenVK)のリンクに中々苦労したが、がんばった結果恐らくどうにかなった。明日以降本腰入れて上手くいってるのか検証する。
- 基本はこちらを参考: https://www.khronos.org/blog/developing-with-vulkan-on-apple-ios
find_libraryでVulkanを見つけられるようにするために設定が要る。FindVulkan.cmakeをVulkan-Samplesからかっぱらってきて./cmakeにぶち込む: https://github.com/KhronosGroup/Vulkan-Samples/blob/main/bldsys/cmake/module/FindVulkan.cmake#L6./cmakeからFindVulkan.cmakeを拾ってこれるようにCMakeListsを設定する:list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")- 多分
source (Vulkan SDKのパス)/iOS/setup-env.shもやっておくべき
- プロジェクトにフレームワークの追加が要る。
(Vulkan SDKのパス)/iOS/lib/vulkan.framework(Vulkan SDKのパス)/iOS/lib/MoltenVK.xcframework- CMakeからやりたいが現時点で方法不明。
library not loadedReason: no LC_RPATH's foundが出るので以下の方法で対処。- プロジェクト設定>Build Settings>Other Linker Flagsで
-rpath@executable_path/Frameworksを指定 - 参考: https://pulselabs.gitbook.io/pulse-flightrecorder-docs/sdk-documentation/pulse-labs-flightrecorder-documentation/ios/troubleshooting
- プロジェクト設定>Build Settings>Other Linker Flagsで
Categories: 未分類