Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Preparing for next version * Update RCSystemInfo.m * Update .jazzy.yaml * Update .jazzy.yaml * back to 3.6.0-SNAPSHOT added TPInAppReceipt pod, added logic to get intro eligibility from receipt finished main logic for intro eligibility small fixes to retention in closures replaced pod dependency with embedded classes added TPInAppReceipt license clean up on intro eligibility calculator updated the logic to get products info so that only one SKProductsRequest gets issued added using the cache in productsManager cleanup: used DI for the IntroEligibilityCalculator fixed TPInAppReceipt compatibility with watchOS added syncing with a queue + support for multiple concurrent requests to product manager remove api key specified os version availability for intro calculation in detail ensured that data can't be nil before sending it to parser also covered the case where receipt data is not null, but is empty added missing import remove pod from podspec added files for local testing WIP interpreting bytes from receipt added parsing of data length, added methods to make parsing individual bits and bit ranges easier added more generalized code to get asn1 containers cleanup: moved methods into UInt8 extensinos more cleanup: moved method into ASN1Container init made constructor recursive, fixed issues with indexes more iteration fixes small cleanup started unpacking InAppReceiptAttributes more decoding of attributes more decoding of attributes decoded missing attributes added algorithm for decoding object identifier started cleanup: moved stuff to a separate class cleanup, separated objectIdentifierParser WIP extracting stuff into classes added methods for easier print debugging more cleanup added more (undocummented) fields to in app purchase moved to using our own solution instead of TPInAppReceipt for intro eligibility removed TPInAppReceipt cleanup, renames, removed unused files separated inAppPurchase into its own class split extraction logic into several factories moved to using a single date formatter method naming clenaup separated ASN1ObjectIdentifier from factory small update to use DI for the date formatter more cleanup: unified duplicated logic to convert from bytes to different value types renamed file from previous commit moved more responsibility to the apple receipt factory, simplified the AppleReceipt class moved logic for querying the apple receipt into the apple receipt class moved more responsibility to the inAppPurchaseFactory and away from InAppPurchase removed redundant class LocalReceiptParser removed all force unwraps and replaced assumptions with more robust error handling and throwing custom exceptions split code into builders, basic types and utilities renamed factory -> builder renamed factory -> builder renamed Utilities -> Data Converters removed unused extractableValueType protocols added UInt8 extensions tests, simplified guard conditions added tests for ArraySlice<UInt8>+Extensions added tests for iOS3601 date formatter renamed ASN1Type -> ASN1Identifier. Added first tests for ASN1ContainerBuilder added more tests for asn1ContainerBuiler added tests for short length asn1 containers fixed rebase issues cleanup added tests for container length, added description to ASN1 errors added more details to error cases, added tests for container length removed unused property added more tests for length and internal payload made internal containers `let` since it's never modified outside of construction. added tests for asn1ContainerBuilder's building of internal containers - removed receiptAsData.txt, renamed sample receipt, added tests that compare directly against the sample receipt and serve as integration tests for local receipt parsing. small cleanup changed type of ASN1Length.value from UInt -> Int inApp -> inAppPurchase purchasedIntroOfferProductIdentifiers -> purchasedIntroOfferOrFreeTrialProductIdentifiers clean up naming oid -> objectIdentifier more naming cleanup WIP adding container factory to make tests easier added more factory methods added more logic to be able to compose receipts for testing purposes. added tests for minimal attributes in the receipt added more tests for minimal attributes added test for expires date cleanup in container factory added base code to be able to compose in app purchase containers for testing purposes added tests for minimal attributes in in-app purchases added tests for optional attributes adds tests to ensure that in-app purchase build fails if attributes are missing, fixed tests not running for in-app purchase builder. fixed bug in tests added ASN.1 object identifier encoding to be able test decoding added tests for all known object identifiers added checks for empty and invalid object identifiers cleanup added tests to check that in app purchases are correctly added to the receipt simplified ASN1ObjectIdentifierBuilder logic fixed rebase issues added some tests for ReceiptParser renamed the methods in container factory removing the redundant build prefix added remaining tests for ReceiptParser moved containerFactory into TestHelpers cleanup in IntroEligibilityCalculator, added class for tests replaced classes with mocks added more tests updated intro eligibility calculator swift name so name lookup works correctly in tests updated Swift name for other internal swift classes so we won't run into lookup issues with them added test to check that only one SKProducts call is issued added tests to check that eligibility is calculated correctly removed redundant file SKProduct+TestExtensions, replaced with mockSKProduct extracted mockProductsRequest into separate file for reuse added more tests added final tests for productsManager fixed rebase issue added link to docs for object identifiers added link to apple docs for apple receipt fields cleanup: extracted method to build internal containers added docs and extracted method for variable length quantity decoder added a couple of comments
- Loading branch information