Skip to content

Commit

Permalink
chore: release 3.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ci-macpaw committed Apr 21, 2023
1 parent f04e502 commit 604a41b
Show file tree
Hide file tree
Showing 209 changed files with 6,483 additions and 3,661 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,4 @@ yarn-error.log
yarn.lock
/nodejs/lib/binding
/Samples/Electron/dist
/Samples/Electron/.wrapper
18 changes: 17 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,23 @@
## [3.2.0] - 2023-03-20

### Updated
* We fully updated a set of sample apps. They are now available for all the test cases. In particular, you can find sample apps for the iOS and macOS platforms; Swift and Objective-C languages; UIKit, AppKit, Mac Catalyst, and SwiftUI interfaces; SPM, CocoaPods, or manual integrations.
* We updated icons for sample apps so that they have dark backgrounds now.

### Fixed
* [iOS] When a user activated an iOS app, the notification on activation sometimes did not fit the screen size. We worked on layout issues and fixed them.
* [iOS] Previously we didn’t handle the blocked subscription case for iOS apps, so we couldn’t explain to users precisely why they could not activate via Setapp. Now we handle this case, and the users know they have blocked subscriptions.
* [iOS] Users with Setapp subscriptions were signed in via Setapp even after app reinstallation. We fixed this, and now they must re-activate the app.
* The Electron sample app on Apple Silicon Macs now works smoothly.
* There was an error in the Setapp Framework integration via CocoaPods, and it’s now fixed.
* Stability improvements.


## [3.1.2] - 2022-12-27

### Fixed
* [iOS] SPM warnings.
* [Electron] Error while building on Apple Silicon Macs.


## [3.1.1] - 2022-12-23
Expand All @@ -18,7 +34,7 @@
### Updated
* [iOS] Use app display name in activation alerts.

### Fixed
### Fixed
* [iOS] Public key custom name.
* [iOS] SPM warnings.
* Xcode 13 compatibility.
Expand Down
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

### iOS

* The Setapp iOS Framework can be integrated into apps developed with iOS 10.0 or later.
* The Setapp Framework can be integrated into apps developed for iOS 11.0 or later.
The Framework doesn’t work with the watchOS and the tvOS yet.

* The supported Swift version for the iOS Framework is 5.2 or later.
Expand Down Expand Up @@ -123,7 +123,7 @@ Add the Framework to your project.
1. Click the General settings pane.
1. Drag `Setapp.xcframework` to the Frameworks, Libraries, and Embedded Content section.
1. Choose the `Do Not Embed` option from the menu in the `Embed` column.
1. (iOS only) Extract the iOS resource bundle from the archive and copy the unpacked `SetappFramework-Resources-iOS.bundle` to your project directory, drag it to your Xcode project and make sure that it's `Target membership` is your application target.
1. [iOS] Extract the iOS resource bundle from the archive and copy the unpacked `SetappFramework-Resources-iOS.bundle` to your project directory, drag it to your Xcode project and make sure that it's `Target membership` is your application target.

For more detailed information, see ["Link a target to frameworks and libraries"](https://help.apple.com/xcode/mac/current/#/dev51a648b07) in the Xcode Help.

Expand Down Expand Up @@ -383,7 +383,7 @@ final class CustomMessagesPresenter: SetappMessagesPresenterProtocol {

## Monitor subscription status

You can monitor the subscription status for the Setapp member who uses your app with the help of the `SetappSubscription` object. 3 monitoring options are available for you: `SetappManager` delegate, notifications, and the Key-Value Observation (KVO).
You can monitor the subscription status for the Setapp member who uses your app with the help of the `SetappSubscription` object. 3 monitoring options are available for you: `SetappManager` delegate, notifications, and the Key-Value Observation (KVO). You can also monitor subscription using Combine.

### Delegate

Expand Down Expand Up @@ -469,9 +469,24 @@ class SetappSubscriptionKVOObserver {
}
```

### Combine

You can use a Combine publisher to monitor Setapp subscription as well. There're two options to do this.

Use `subscription` property publisher directly:
```swift
SetappManager.shared.publisher(for: \.subscription)
```

Use a notification publisher so you can observe the old and the new values:
```swift
NotificationCenter.default.publisher(for: SetappManager.didChangeSubscriptionNotification)
```

## Configure background tasks

We utilize background tasks to send you a usage report when a user doesn't use your application at the moment. This allows us to ensure that usage tracking is delivered to our servers.
Note: currently we don't support background tasks for SwiftUI apps. While we're working on this, please reach us to discuss implementing backend-based usage reporting.

To send network requests with usage reports in the background, you must select the `Background fetch` checkbox in the `Background modes` capability group.

Expand Down Expand Up @@ -751,8 +766,10 @@ You can find documentation about integrating Setapp Framework to your Electron a

You can find integration samples in the [Samples folder](./Samples).
There are:
* `SetappSample-Catalyst` with manually integrated Setapp Framework.
* `SetappSample-macOS-ObjectiveC` that uses CocoaPods as a dependency manager for Setapp Framework integration.
* `AppKit Sample (Swift|Obj-C, SPM|CocoPods|Manual)` - these samples include both Swift and Objective-C and all available integration tools (SPM, CocoaPods, Manual Integration). Find the details in a target name.
* `UIKit Sample (Swift|Obj-C, SPM|CocoPods|Manual)` - these samples include both Swift and Objective-C and all available integration tools (SPM, CocoaPods, Manual Integration). Find the details in a target name.
* `Catalyst Sample` with manually integrated Setapp Framework.
* `SwiftUI Sample` with manually integrated Setapp Framework.
* `Electron` apps that utilize our node.js wrapper to integrate Setapp Framework into the Electron app.

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2023 Setapp Limited.</string>
<key>NSUpdateSecurityPolicy</key>
<dict>
<key>AllowProcesses</key>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,4 @@

@interface AppDelegate : NSObject <NSApplicationDelegate>


@end

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
//

#import "AppDelegate.h"

@import Setapp;

@interface AppDelegate ()
Expand All @@ -16,24 +17,16 @@ @implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[self setupSetappLogger];
[STPManager setLogLevel:STPLogLevelVerbose];
[STPManager setLogHandle:^(NSString * _Nonnull message, enum STPLogLevel logLevel) {
NSLog(@"[Log level]: %ld, [message]: %@", logLevel, message);
}];
[[STPManager sharedInstance] showReleaseNotesWindowIfNeeded];
}

- (void)applicationWillTerminate:(NSNotification *)aNotification {}


- (BOOL)applicationSupportsSecureRestorableState:(NSApplication *)app
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender
{
return YES;
}

- (void)setupSetappLogger
{
[STPManager setLogLevel:STPLogLevelVerbose];
[STPManager setLogHandle:^(NSString * _Nonnull message, enum STPLogLevel logLevel) {
NSLog(@"[Log level]: %ld, [message]: %@", logLevel, message);
}];
}

@end
Loading

0 comments on commit 604a41b

Please sign in to comment.