-
Notifications
You must be signed in to change notification settings - Fork 316
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
Migrate RCPurchaseOwnershipType #594
Conversation
- Added an `APITester` target that relies on the project's public API - Added build phase run step that builds the `APITester` after the `Purchases` framework - If the `APITester` target fails, that means we changed the public API
Circular dependencies... let's just do a new circle CI step for the target.
Forgot to update this dependency 🤦♂️
Resolves #559
Because apparently this is a thing.
- Added an `APITester` target that relies on the project's public API - Added build phase run step that builds the `APITester` after the `Purchases` framework - If the `APITester` target fails, that means we changed the public API
Circular dependencies... let's just do a new circle CI step for the target.
@@ -3,6 +3,8 @@ | |||
// Copyright © 2019 RevenueCat. All rights reserved. | |||
// | |||
|
|||
@import PurchasesCoreSwift; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would we eventually not need the #import "RCEntitlementInfo.h"
? if you have a favorite resource describing swift/obj c enum compatibility, let me know 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's exactly right, eventually all will be in swift, and we won't need any @import
inside our SDK. This is just temporary while we move it all over.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, once we have everything in a single swift module, we don't need an import at all - everything within the same Swift module is auto-imported as part of the same scope (assuming the privacy is internal
or public
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as for resources, Apple has a few pages that are pretty thorough (but sadly they don't go very deep into migrating frameworks):
https://developer.apple.com/documentation/swift/migrating_your_objective-c_code_to_swift
https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😂 and I just realized I was too slow for this one
@@ -746,6 +742,7 @@ | |||
2DCB85BF2406EC3F003C1260 /* Recovered References */ = { | |||
isa = PBXGroup; | |||
children = ( | |||
37E3564466002C9162AC7C5E /* Package.swift */, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it got moved to Recovered References
, does it look fine in the project?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strangely, it looks fine.
@@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN | |||
@interface RevenueCatAPI<RCPurchasesDelegate> : NSObject | |||
|
|||
+ (void)allTheThings; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
perhaps we should rename this one since it doesn't actually cover all the things...
How about methodsAndPropertiesInPurchases
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a change queued up for this too... ha
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#import <Purchases/RCEntitlementInfo.h> | ||
#import <Purchases/RCPurchaserInfo.h> | ||
#import <Purchases/RCPurchases.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would doing @import Purchases;
or #import <Purchases/Purchases.h>
cover it?
I think this app should mimic a regular app as closely as possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have this change also queued up in another branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
path = Public; | ||
sourceTree = "<group>"; | ||
}; | ||
B3DDB55A26854A0A008CCF23 /* ReOrgLater */ = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why ReOrgLater
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since they are EntitlementInfo
and EntitlementInfos
related, I was going to wait to address that, then organize
Resolves #558
Starts work on EntitlementInfo (#553)
RCAppStore
RCPeriodType
Temporary holding place created
ReOrgLater