Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI fails because of Kingfisher dependecy issue with XCode 15 and iOS 17 SDK #148

Closed
dulvui opened this issue Aug 19, 2024 · 7 comments
Closed
Assignees
Labels
bug Something isn't working prj:noiapp

Comments

@dulvui
Copy link
Contributor

dulvui commented Aug 19, 2024

Describe the bug
The CI fails, because of a problem Kingfisher dependency and XCode 15

I saw Kingfisher has also a version 8, that could maybe solve the problem?
https://github.com/onevcat/Kingfisher

Here the Github actions logs with XCode 14 with the following error

  NSLocalizedFailureReason = "SDK version issue. This app was built with the iOS 16.4 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution. (ID: f3e9208a-526d-4429-8780-ea6d4464d90f)";
    NSUnderlyingError = "Error Domain=IrisAPI Code=-19241 \"Asset validation failed\" UserInfo={status=409, detail=SDK version issue. This app was built with the iOS 16.4 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution., id=f3e9208a-526d-4429-8780-ea6d4464d90f, code=STATE_ERROR.VALIDATION_ERROR.90725, title=Asset validation failed, NSLocalizedFailureReason=SDK version issue. This app was built with the iOS 16.4 SDK. All iOS and iPadOS apps must be built with the iOS 17 SDK or later, included in Xcode 15 or later, in order to be uploaded to App Store Connect or submitted for distribution., NSLocalizedDescription=Asset validation failed}";
    "iris-code" = "STATE_ERROR.VALIDATION_ERROR.90725";

https://github.com/noi-techpark/it.bz.noi.community.ios/actions/runs/10366670060/job/28935533747

And here with XCode 15 with the following error

/Users/runner/Library/Developer/Xcode/DerivedData/NOICommunity-fwgskvuarmgtklagfchecrdnghdc/SourcePackages/checkouts/Kingfisher/[email protected]: error: Signing for "Kingfisher_Kingfisher" requires a development team. Select a development team in the Signing & Capabilities editor. (in target 'Kingfisher_Kingfisher' from project 'Kingfisher')
** ARCHIVE FAILED **

https://github.com/noi-techpark/it.bz.noi.community.ios/actions/runs/10450795428/job/28935870267

Expected behavior
The CI should build wih XCode 15 and iOS 17 SDK or later

Screenshots
If applicable, add screenshots to help explain your problem.
image

@dulvui dulvui added bug Something isn't working prj:noiapp labels Aug 19, 2024
@matax87
Copy link
Collaborator

matax87 commented Aug 19, 2024

Hi @dulvui!

PR #149 updates versions of all Swift dependencies including KingFisher. Once the PR has been merged, it should fix this problem.

Thank you!

@dulvui
Copy link
Contributor Author

dulvui commented Aug 19, 2024

@matax87 Great thank you for the fast fix! The CI is running now, let's hope the best.

@matax87
Copy link
Collaborator

matax87 commented Aug 19, 2024

@dulvui

PR #150 improves CI/CD:

  • Updates CI/CD pipeline to use macOS 14 (the latest version)
  • Updates CD Force Xcode specific version documentation

But this PR won't solve this issue.

I think that the problem is that CD is using an old provisioning profile (UUID: 8217a111-ad20-4a6f-a664-5c1e5714d6fa). The latest one should have UUID: e914b769-9aba-4adf-afe5-2d3e3ded9d27. You need to download the latest one from the Apple Developer Portal and update the value of secrets.IOS_PROVISION_PROFILE_BASE64 with its base 64 content and the Archive the project step with:

-PROVISIONING_PROFILE='8217a111-ad20-4a6f-a664-5c1e5714d6fa' \
+PROVISIONING_PROFILE='e914b769-9aba-4adf-afe5-2d3e3ded9d27' \

I remain at your disposal for any help.

Thank you!

@dulvui
Copy link
Contributor Author

dulvui commented Aug 20, 2024

@matax87 Thanks for the suggestions!
I changed the secrets.IOS_PROVISION_PROFILE_BASE64 and tried with the UUID e914b769-9aba-4adf-afe5-2d3e3ded9d27 and with the automated UUID extracion, I used in other apps. There the uuid seems to be 64c887eb-f21f-4cfc-a5ad-685bd544b599
I still get an error during build

/Users/runner/Library/Developer/Xcode/DerivedData/NOICommunity-fwgskvuarmgtklagfchecrdnghdc/SourcePackages/checkouts/promises/Package.swift: error: Promises_FBLPromises has conflicting provisioning settings. Promises_FBLPromises is automatically signed, but provisioning profile it.bz.noi.community has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor, or switch to manual signing in the Signing & Capabilities editor. (in target 'Promises_FBLPromises' from project 'Promises')
** ARCHIVE FAILED **

Do you have other suggestions what the problem could be?

@matax87
Copy link
Collaborator

matax87 commented Aug 20, 2024

@dulvui with automatic signing you don't need to use PROVISIONING_PROFILE, thus you can remove it from CI/CD:

-PROVISIONING_PROFILE=$PP_UUID \

@matax87
Copy link
Collaborator

matax87 commented Aug 20, 2024

@dulvui

@dulvui with automatic signing you don't need to use PROVISIONING_PROFILE, thus you can remove it from CI/CD:

-PROVISIONING_PROFILE=$PP_UUID \

Moreover, if this works then you may also remove the Extract Provisioning profile UUID and create PP_UUID env variable step, since Xcode will match the provisioning profile by itself with automatic signing.

@dulvui
Copy link
Contributor Author

dulvui commented Aug 20, 2024

@matax87 Now it worked, I had to remove all build parameters.
Thanks for the help!

@dulvui dulvui closed this as completed Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working prj:noiapp
Projects
None yet
Development

No branches or pull requests

2 participants