Skip to content

Commit

Permalink
[feature/iOS-15-SDK] Build with iOS 15 SDK (#1121)
Browse files Browse the repository at this point in the history
* #1066 support for iOS 15 SDK: Solving UI issues, removing unneeded code

* - updated Xcode version for fastlane
- fastlane readme update

Co-authored-by: Matthias Hühne <>
  • Loading branch information
hosy committed May 4, 2022
1 parent 3b7b18d commit 4ddd657
Show file tree
Hide file tree
Showing 7 changed files with 134 additions and 85 deletions.
2 changes: 1 addition & 1 deletion .xcode-version
@@ -1 +1 @@
12.5.1
13.3
123 changes: 84 additions & 39 deletions fastlane/README.md
@@ -1,99 +1,144 @@
fastlane documentation
================
----

# Installation

Make sure you have the latest version of the Xcode command line tools installed:

```
```sh
xcode-select --install
```

Install _fastlane_ using
```
[sudo] gem install fastlane -NV
```
or alternatively using `brew install fastlane`
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)

# Available Actions

## iOS

### ios beta

```sh
[bundle exec] fastlane ios beta
```
fastlane ios beta
```

Push a new beta build to TestFlight

### ios register_new_devices

```sh
[bundle exec] fastlane ios register_new_devices
```
fastlane ios register_new_devices
```

Register new devices to Apple portal

### ios build_ipa_ad_hoc

```sh
[bundle exec] fastlane ios build_ipa_ad_hoc
```
fastlane ios build_ipa_ad_hoc
```

Ad-Hoc Distribution IPA generation

### ios screenshots

```sh
[bundle exec] fastlane ios screenshots
```
fastlane ios screenshots
```

Generate the screenshots for the AppStore

### ios prepare_metadata

```sh
[bundle exec] fastlane ios prepare_metadata
```
fastlane ios prepare_metadata
```

Create Metadata Release Notes, Screenshots and push to git

### ios release_on_appstore

```sh
[bundle exec] fastlane ios release_on_appstore
```
fastlane ios release_on_appstore
```

Create Release Notes, Screenshots, Build, Upload of regular iOS App and EMM App

### ios owncloud_regular_build

```sh
[bundle exec] fastlane ios owncloud_regular_build
```
fastlane ios owncloud_regular_build
```



### ios owncloud_emm_build

```sh
[bundle exec] fastlane ios owncloud_emm_build
```
fastlane ios owncloud_emm_build
```



### ios owncloud_online_build

```sh
[bundle exec] fastlane ios owncloud_online_build
```
fastlane ios owncloud_online_build
```



### ios owncloud_branding_adhoc_build

```sh
[bundle exec] fastlane ios owncloud_branding_adhoc_build
```
fastlane ios owncloud_branding_adhoc_build
```



### ios owncloud_branding_appstore_build

```sh
[bundle exec] fastlane ios owncloud_branding_appstore_build
```
fastlane ios owncloud_branding_appstore_build
```



### ios owncloud_ownbrander_build

```sh
[bundle exec] fastlane ios owncloud_ownbrander_build
```
fastlane ios owncloud_ownbrander_build
```



### ios owncloud_enterprise_build

```sh
[bundle exec] fastlane ios owncloud_enterprise_build
```
fastlane ios owncloud_enterprise_build
```



### ios generate_appicon

```sh
[bundle exec] fastlane ios generate_appicon
```
fastlane ios generate_appicon
```



### ios build_ipa_in_house

```sh
[bundle exec] fastlane ios build_ipa_in_house
```
fastlane ios build_ipa_in_house
```

In-House Enterprise IPA generation

----

This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).

More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).

The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
Expand Up @@ -49,7 +49,7 @@ open class BreadCrumbTableViewController: StaticTableViewController {
var rows : [StaticTableViewRow] = []
let pathCount = pathComp.count
var currentViewContollerIndex = 2
let contentHeight : CGFloat = rowHeight * CGFloat(pathCount)
let contentHeight : CGFloat = rowHeight * CGFloat(pathCount) + 10
let contentWidth : CGFloat = (view.frame.size.width < maxContentWidth) ? view.frame.size.width : maxContentWidth
self.preferredContentSize = CGSize(width: contentWidth, height: contentHeight)

Expand Down
Expand Up @@ -35,9 +35,9 @@ class SortMethodTableViewController: StaticTableViewController {
self.tableView.rowHeight = rowHeight

var rows : [StaticTableViewRow] = []
let contentHeight : CGFloat = rowHeight * CGFloat(SortMethod.all.count) - 1
let contentHeight : CGFloat = rowHeight * CGFloat(SortMethod.all.count) + 8
let contentWidth : CGFloat = maxContentWidth
self.preferredContentSize = CGSize(width: contentWidth, height: contentHeight)
self.preferredContentSize = CGSize(width: contentWidth, height: contentHeight)

for method in SortMethod.all {
let title = method.localizedName
Expand Down
Expand Up @@ -264,4 +264,24 @@ open class StaticTableViewController: UITableViewController, Themeable {
open func applyThemeCollection(theme: Theme, collection: ThemeCollection, event: ThemeEvent) {
self.tableView.applyThemeCollection(collection)
}

public override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
guard let sectionColor = Theme.shared.activeCollection.tableSectionHeaderColor else { return }

if let label = view as? UILabel {
label.textColor = sectionColor
} else if let headerView = view as? UITableViewHeaderFooterView {
headerView.textLabel?.textColor = sectionColor
}
}

public override func tableView(_ tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
guard let sectionColor = Theme.shared.activeCollection.tableSectionFooterColor else { return }

if let label = view as? UILabel {
label.textColor = sectionColor
} else if let headerView = view as? UITableViewHeaderFooterView {
headerView.textLabel?.textColor = sectionColor
}
}
}
Expand Up @@ -125,15 +125,30 @@ public extension NSObject {
}

if let toolbar = self as? UIToolbar {
toolbar.barTintColor = collection.toolbarColors.backgroundColor
toolbar.tintColor = collection.toolbarColors.tintColor

if #available(iOS 15, *) {
let appearance = UIToolbarAppearance()
appearance.backgroundColor = collection.toolbarColors.backgroundColor
UIToolbar.appearance().standardAppearance = appearance
UIToolbar.appearance().scrollEdgeAppearance = appearance
} else {
toolbar.barTintColor = collection.toolbarColors.backgroundColor
}
}

if let tabBar = self as? UITabBar {
tabBar.barTintColor = collection.toolbarColors.backgroundColor
tabBar.tintColor = collection.toolbarColors.tintColor
tabBar.unselectedItemTintColor = collection.toolbarColors.secondaryLabelColor
}
if let tabBar = self as? UITabBar {
tabBar.tintColor = collection.toolbarColors.tintColor
tabBar.unselectedItemTintColor = collection.toolbarColors.secondaryLabelColor
if #available(iOS 15, *) {
let appearance = UITabBarAppearance()
appearance.backgroundColor = collection.toolbarColors.backgroundColor
UITabBar.appearance().standardAppearance = appearance
UITabBar.appearance().scrollEdgeAppearance = appearance
} else {
tabBar.barTintColor = collection.toolbarColors.backgroundColor
}
}

if let tableView = self as? UITableView {
tableView.backgroundColor = tableView.style == .grouped ? collection.tableGroupBackgroundColor : collection.tableBackgroundColor
Expand Down Expand Up @@ -284,37 +299,3 @@ public extension NSObject {
}
}
}

extension UITableViewController : ThemeableSectionHeader, ThemeableSectionFooter {
public var sectionHeaderColor: UIColor? {
get {
return self.value(forAnnotatedProperty: "sectionHeaderColor") as? UIColor
}

set {
self.setValue(newValue, forAnnotatedProperty: "sectionHeaderColor")
}
}

public var sectionFooterColor: UIColor? {
get {
return self.value(forAnnotatedProperty: "sectionFooterColor") as? UIColor
}

set {
self.setValue(newValue, forAnnotatedProperty: "sectionFooterColor")
}
}

public func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let label = view as? UILabel, let sectionHeaderColor = sectionHeaderColor {
label.textColor = sectionHeaderColor
}
}

public func tableView(_ tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
if let label = view as? UILabel, let sectionFooterColor = sectionFooterColor {
label.textColor = sectionFooterColor
}
}
}
7 changes: 5 additions & 2 deletions ownCloudAppShared/User Interface/Theme/ThemeCollection.swift
Expand Up @@ -238,7 +238,7 @@ public class ThemeCollection : NSObject {
let color = colors.resolveColor("Table.tableSeparatorColor", UIColor.lightGray)
self.tableSeparatorColor = color
}
self.tableSectionHeaderColor = UIColor.gray
self.tableSectionHeaderColor = UIColor.gray
self.tableSectionFooterColor = UIColor.gray

let rowColor : UIColor? = UIColor.black.withAlphaComponent(0.1)
Expand Down Expand Up @@ -374,7 +374,10 @@ public class ThemeCollection : NSObject {
// Bars
self.navigationBarColors = colors.resolveThemeColorCollection("NavigationBar", self.darkBrandColors)
let tmpDarkBrandColors = self.darkBrandColors
tmpDarkBrandColors.secondaryLabelColor = UIColor(hex: 0xF7F7F7)

if VendorServices.shared.isBranded {
tmpDarkBrandColors.secondaryLabelColor = UIColor(hex: 0xF7F7F7)
}
if self.tintColor == UIColor(hex: 0xFFFFFF) {
tmpDarkBrandColors.secondaryLabelColor = .lightGray
}
Expand Down

0 comments on commit 4ddd657

Please sign in to comment.