該当デバイス 対応表
Shortcut | 内容 |
---|---|
Ctrl + Command + J | 定義に飛ぶ |
Ctrl + Command + ← | Jump前に戻る |
Ctrl + Command + e | 指定の変数を全選択 |
Ctrl + 6 | Show Document Items: 定義名選択セレクターにフォーカス |
Command + ' | Next Issue |
Command + " | Previous Issue |
Command + / | Comment |
Command + Opt + / | add Documentation |
Comments, Documentation comments
// Normal inline comment
/// Documentation comment
/* Normal block
comment */
/** Documentation block
comment */
Debug
po <expression>
p <expression>
expression <expression>
- p: print - LLDB の組み込みフォーマッタを使用してオブジェクトを表す
- po: print object
- expression: 値の代入
他のデバック有用情報
- 参考
Python で書かれたスクリプトを使用するなど - 参考:画像確認
UserDefaultsの内容とか - The LLDB Debugger
- LLDB Debugging Cheat Sheet
- Dancing in the Debugger
参考
発生した例外の内容を知りたい場合はデバッグコンソールで以下のいずれかを入力する。
po $r0 (arm : iPhone/iPad 実機)
po $rax (x86_64 : OSX, iOS シミュレータ)
po $eax (i386 : OSX, iOS シミュレータ)
- アーキテクチャを調べる
$ xcrun lipo -info (バイナリファイルのパス)
Trailing Space
Xcode -> preference -> Text Editing -> Editing including whitespace-only lines
複数
- src URL
色々とあるようですが、simpleなのをチョイス。
確認
xcode-select -p
切替
sudo xcode-select -s /Applications/Xcode_
GUI: Xcode -> Preferences -> Locations -> Command Line Tools
Notice
- https://developer.apple.com/jp/ios/submit/
Xcode 11でビルドする Xcode 11でAppをビルドしましょう。Xcode 11には、iOS 13、iPadOS、watchOS 6、tvOS 12、
macOS Catalina向けのSDKが含まれています。2020年4月以降、App Storeに提出するiPhoneおよびiPadのAppはすべて、iOS 13 SDK以降でビルドする必要があります。
また、iPhone XS Maxまたは12.9インチiPad Pro(第3世代)以降のオールスクリーンデザインに対応している必要があります。
アプリビルドメモ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12210602432
Developer
- Team ID
https://stackoverflow.com/questions/18727894/how-can-i-find-my-apple-developer-team-id-and-team-agent-apple-id
TODO list
ないぽい。 Find -> Regular Expression で、表示すると同じような機能になるので、実装されないのかな?
Instant Run
ないっぽい * https://github.com/johnno1962/injectionforxcode/
plug-inなら同じようなことが出来そうだけど、、 要検討かな。
Push
Xcode 11.4 Betaから使えるっぽい
Push notifications in simulator - Not working Xcode 11.4beta
xcrun simctl list
xcrun simctl push <SIMULATOR_DEVICE_ID> <YOUR_APP_BUNDLE_ID> <APNS_FILE_NAME>
apnsファイルをDrag and DropしてもOK
動画
xcrun simctl io booted recordVideo test.mov
ffmpeg -i test.mov test.mp4
ffmpeg -i test.mov -pix_fmt yuv420p test.mp4
# 時計回りに90度回転
ffmpeg -i test.mov -pix_fmt yuv420p -vf "transpose=1" test.mp4
トラブル解決メモ
UnitTest
Could not find test host for [Project]Tests:
TEST_HOST evaluates to [PATH]
- PATH:
$(BUILT_PRODUCTS_DIR)
/[Project].app/[Project] - BUILT_PRODUCTS_DIR: $HOME/Library/Developer/Xcode/DerivedData/<アプリケーション固有ID>/Build/Products/
/ - Build Configuration:
-<問題の識別子>
今回問題の<問題の識別子>
がどこで設定されているか不明で
iphonesimulator
と出ており、TEST_HOSTとかの情報はiphoneos
となっていて
混乱に拍車をかけた、、
今回の問題にはあまり関係なかったけど、
iOS universal framework with iphoneos and iphonesimulator architectures
フレームワーク アーキテクチャーっぽい。
SDKあたりかなぁ
@testable import [project]
どうもこれは、$BUILT_PRODUCTS_DIR
に展開されたモジュールをimportするようだ。
その名称が異なっていると、No such module
となるみたい。
作成される名称に関係する情報は Product Name
みたいで、そこを合わせると
問題が解決した。
TARGETS -> [Project] -> [General] -> [Product Name]
を変更数とProduct Module Name
も変わる
UnitTestに関係しそうな箇所
- 実行する
Scheme
の Test -> Info
Enabled, Tests が存在するか? - TARGETS -> [Project] -> Build Settings -> Build Options -> Enable Testability
該当Scheme が YESになってる?
アプリ情報
- アプリ名: Info.plist -> CFBundleDisplayName
ローカライズしたい場合は、Info.plistをローカライズする。
名称
- Xcode help -> scheme menu
Schemesの右隣は、Destinations
というらしい < Xcode Helpに記載
Simulator
/Users/[User]/Library/Developer
"$HOME/Library/Application Support/iPhone Simulator/User/Applications"
"$HOME/Library/Developer/CoreSimulator/Devices"
--- 中間ファイル ---
~/Library/Developer/Xcode/DerivedData
StackExchangeで紹介されてた * DevCleaner for Xcode
運用
Scheme
xcodebuild -list | grep Develop