Add a new CopyFilesBuildPhase, "Embed ExtensionKit Extensions"#1230
Add a new CopyFilesBuildPhase, "Embed ExtensionKit Extensions"#1230yonaskolb merged 8 commits intoyonaskolb:masterfrom
Conversation
freddi-kit
left a comment
There was a problem hiding this comment.
Perfect from my sight
| } else if dependencyTarget.type.isExtension && dependencyTarget.type != .extensionKitExtension { | ||
| // embed app extension | ||
| extensions.append(embedFile) | ||
| } else if dependencyTarget.type == .extensionKitExtension { | ||
| extensionKitExtensions.append(embedFile) |
There was a problem hiding this comment.
It might be better to write like below to consider the other addtional future cases of dependencyTarget.type when dependencyTarget.type.isExtension is true
else if dependencyTarget.type.isExtension {
// we may add other properties ==
if dependencyTarget.type == .extensionKitExtension {
extensionKitExtensions.append(embedFile)
} else {
extensions.append(embedFile)
}
}
yonaskolb
left a comment
There was a problem hiding this comment.
Great work @mtj0928!
Would it be possible for you to add an example extension in Test/Fixtures/TestProject? That's a project that tries to have every single XcodeGen feature in it, so that any diffs in the generation are tracked.
|
Thank you for your reviews! @freddi-kit @yonaskolb |
|
To fix CI properly, we'd need a seperate Xcode14 fixture project that only runs in a seperate action with Xcode 14 in Github Actions. |
This would be a blow to the teams that rely on XcodeGen and would like to implement ExtensionKit Extensions like AppIntents in time for iOS 16 launch. 😥 |
@alessionossa makes sense, I can appreciate that. @mtj0928 if the CI changes are too much work, I'm happy with you just commenting out the changes to the |
|
@yonaskolb I'd like to try creating the new fixture project for Xcode 14 as another issue. |
|
I've created a new issue #1232. |
freddi-kit
left a comment
There was a problem hiding this comment.
I think it is ready for merging 👍
|
@yonaskolb I think we can merge it in master |
|
Released in 2.31.0 |
close #1224
As @freddi-kit mentioned on #1224, extension kit extensions must be embedded as a separate copyFilesPhase from app extensions.
In this PR, I changed the followings related to extension kit extensions.
explicitFileTypefor extension kit extensions bf71a5dFYI:
XcodeProj resolves the
fileTypefrom the file extension only, but extension kit extension and app extension have differentfileTypeeven though they have the same file extension.So, I added
productTypeas a new argument tofileType(path), to resolve thefileTypefrom the combination of the file extension and the product type.