You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3285807
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/JSON Format.md
+81Lines changed: 81 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,6 +76,87 @@ Other fields:
76
76
-`compilationEndTimestamp`: Timestamp in which the actual compilation finished. For a Target this could be before `endTimestamp` because in the new Xcode Build System linking can happen way after compilation.
77
77
-`compilationDuration` Actual duration in seconds of just the compilation phase. In a Target this could be significant shorter than the `duration`.
78
78
79
+
## Attachments (Xcode 15.3+)
80
+
81
+
When using the `dump` command, each `IDEActivityLogSection` may include an `attachments` array. This was introduced in SLF version 11 (Xcode 15.3). Each attachment has an `identifier`, `majorVersion`, `minorVersion`, and one of the following typed payloads:
Copy file name to clipboardExpand all lines: docs/Xcactivitylog Format.md
+35-1Lines changed: 35 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,7 +136,15 @@ You can get these tokens:
136
136
[type:"string", value:"Prepare build"],
137
137
```
138
138
139
-
The first integer is the version of the `SLF` format used. In Xcode 10.x and 11 Beta, the version is 10. The values after the version are the actual content of the log.
139
+
The first integer is the version of the `SLF` format used. The values after the version are the actual content of the log.
140
+
141
+
### SLF version history
142
+
143
+
Version | Xcode Version | Changes
144
+
--- | --- | ---
145
+
10 | Xcode 10.x - 14.x | Initial format
146
+
11 | Xcode 15.3+ | Added `IDEFoundation.IDEActivityLogSectionAttachment` list to `IDEActivityLogSection`
147
+
12 | Xcode 26.2+ | Added an unknown integer field before `subtitle` in `IDEActivityLogSection`
140
148
141
149
## Parsing an xcactivitylog
142
150
@@ -156,3 +164,29 @@ Inside the logs you can find these classes:
156
164
If you search for them, you will find that they belong to the IDEFoundation.framework. A private framework part of Xcode. You can class dump it to get the headers of those classes. Once you have the headers, you will have the name and type of the properties that belong to the class. Now, you can match them to the tokens you got from the log. Some of them are in the same order than in the headers, but for others it will be about trial and error.
157
165
158
166
In the project you can find those classes with their properties in the order in which they appear in the log in the file [IDEActivityModel.swift](../Sources/XCLogParser/activityparser/IDEActivityModel.swift).
167
+
168
+
## IDEActivityLogSectionAttachment (SLF version 11+)
169
+
170
+
Starting with SLF version 11 (Xcode 15.3), each `IDEActivityLogSection` includes an array of `IDEFoundation.IDEActivityLogSectionAttachment` entries after the `xcbuildSignature` field. Each attachment has an `identifier` string, a `majorVersion` integer, a `minorVersion` integer, and a JSON payload. The identifier determines the type of the JSON payload:
0 commit comments