Skip to content

XCFramework: sign archive for Xcode 15#2709

Merged
NachoSoto merged 2 commits into
mainfrom
nacho/sdk-3204-look-into-signing-xcframeworks
Jun 27, 2023
Merged

XCFramework: sign archive for Xcode 15#2709
NachoSoto merged 2 commits into
mainfrom
nacho/sdk-3204-look-into-signing-xcframeworks

Conversation

@NachoSoto

@NachoSoto NachoSoto commented Jun 26, 2023

Copy link
Copy Markdown
Contributor

I filed fastlane/fastlane#21359, but for now we can do this ourselves.

Motivation

This is what happens with Xcode 15 if you try to build with an unsigned XCFramework:
image

That breaks the build until you accept it.

With the signature

This can be inspected in Xcode:
image

When using Xcode 15, this modifies the project to save the known signature:
image

But the .xcframework remains compatible with Xcode 14.

@NachoSoto NachoSoto requested review from a team and joshdholtz June 26, 2023 16:42
It's useful to have it in `release_checks` lane, to make sure that our framework can be built with `Carthage`.
However, what we actually release is using `export_xcframework`, which also builds the frameworks.

This will make `release` MUCH faster since we no longer build everything twice as many times (and for each platform / architecture combination).
@NachoSoto NachoSoto force-pushed the nacho/sdk-3204-look-into-signing-xcframeworks branch 2 times, most recently from 20f4e30 to 03d6e9d Compare June 26, 2023 16:52
@NachoSoto NachoSoto changed the base branch from main to release-carthage-archive June 26, 2023 16:52
@NachoSoto NachoSoto force-pushed the nacho/sdk-3204-look-into-signing-xcframeworks branch 8 times, most recently from 5d1bd62 to 5c44944 Compare June 26, 2023 18:00
@NachoSoto NachoSoto force-pushed the nacho/sdk-3204-look-into-signing-xcframeworks branch 2 times, most recently from 0998c1f to 2cf7ac8 Compare June 26, 2023 18:18
@NachoSoto NachoSoto marked this pull request as ready for review June 26, 2023 18:19
@NachoSoto NachoSoto changed the title XCFramework: sign archive for Xcode 15 XCFramework: sign archive for Xcode 15 Jun 26, 2023
@codecov

codecov Bot commented Jun 26, 2023

Copy link
Copy Markdown

Codecov Report

❗ No coverage uploaded for pull request base (release-carthage-archive@33b8809). Click here to learn what that means.
The diff coverage is n/a.

@@                     Coverage Diff                     @@
##             release-carthage-archive    #2709   +/-   ##
===========================================================
  Coverage                            ?   86.55%           
===========================================================
  Files                               ?      211           
  Lines                               ?    15023           
  Branches                            ?        0           
===========================================================
  Hits                                ?    13003           
  Misses                              ?     2020           
  Partials                            ?        0           

@joshdholtz joshdholtz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! And will work on adding this into fastlane 💪

Base automatically changed from release-carthage-archive to main June 27, 2023 11:44
Comment thread fastlane/Fastfile
type: 'appstore',
skip_provisioning_profiles: true,
# This isn't important, we just need to fetch the certificate
app_identifier: "com.revenuecat.CarthageIntegration"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW @joshdholtz how come this is required if we’re skipping provisioning profiles?

@NachoSoto NachoSoto merged commit e6d9259 into main Jun 27, 2023
@NachoSoto NachoSoto deleted the nacho/sdk-3204-look-into-signing-xcframeworks branch June 27, 2023 11:45
NachoSoto added a commit that referenced this pull request Jun 30, 2023
**This is an automatic release.**

### New Features
* New `TestStoreProduct` for creating mock `StoreProduct`s and
`Offering`s (#2711) via NachoSoto (@NachoSoto)

✨ With this new API you can now create fake products for unit tests and
SwiftUI previews! 🎉
#### Example:
```swift
let product = TestStoreProduct(
    localizedTitle: "PRO monthly",
    price: 3.99,
    localizedPriceString: "$3.99",
    productIdentifier: "com.revenuecat.product",
    productType: .autoRenewableSubscription,
    localizedDescription: "Description",
    subscriptionGroupIdentifier: "group",
    subscriptionPeriod: .init(value: 1, unit: .month)
)
let offering = Offering(
    identifier: "offering",
    serverDescription: "Main offering",
    metadata: [:],
    availablePackages: [
        .init(
            identifier: "monthly",
            packageType: .monthly,
            storeProduct: product.toStoreProduct(),
            offeringIdentifier: offering
        )
    ]
)
```

### Dependency Updates
* Bump fastlane-plugin-revenuecat_internal from `13773d2` to `b2108fb`
(#2706) via dependabot[bot] (@dependabot[bot])
### Other Changes
* `VerificationResult: CustomDebugStringConvertible` (#2739) via
NachoSoto (@NachoSoto)
* Refactor: simplified `PurchasesOrchestrator.syncPurchases` (#2731) via
NachoSoto (@NachoSoto)
* `Trusted Entitlements`: add integration tests to verify `CustomerInfo`
cache invalidation (#2730) via NachoSoto (@NachoSoto)
* `SystemInfo.identifierForVendor`: add tests (#2732) via NachoSoto
(@NachoSoto)
* `Tests`: disabled `iOS 11.x` tests to fix `Xcode 15` tests (#2720) via
NachoSoto (@NachoSoto)
* `DebugViewSwiftUITests`: create separate snapshots for each OS version
(#2721) via NachoSoto (@NachoSoto)
* `Integration Tests`: fix clearing `UserDefaults` before each test
(#2719) via NachoSoto (@NachoSoto)
* Remove unused `Signing.loadPublicKey(with:)` (#2714) via NachoSoto
(@NachoSoto)
* Add `UInt32(littleEndian32Bits:)` and `UInt32.littleEndianData`
(#2713) via NachoSoto (@NachoSoto)
* `TimingUtil`: added synchronous API (#2716) via NachoSoto (@NachoSoto)
* `XCFramework`: sign archive for `Xcode 15` (#2709) via NachoSoto
(@NachoSoto)
* `CI`: removed `carthage_archive` from `release` lane (#2710) via
NachoSoto (@NachoSoto)
* `PriceFormatterProvider.priceFormatterForSK2`: enable on all versions
(#2712) via NachoSoto (@NachoSoto)
* `xrOS`: add support for `debugRevenueCatOverlay` (#2702) via NachoSoto
(@NachoSoto)
* Refactor method to get product ID including plan ID in android
purchases (#2708) via Toni Rico (@tonidero)
* `Purchases.restoreLogHandler` (#2699) via NachoSoto (@NachoSoto)
* Remove alpha from purchase tester icon to upload to testflight (#2705)
via Toni Rico (@tonidero)

---------

Co-authored-by: NachoSoto <ignaciosoto90@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants