Basic Safari extension
91
.gitignore
vendored
@ -1,2 +1,93 @@
|
|||||||
|
# Xcode
|
||||||
|
#
|
||||||
|
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
||||||
|
|
||||||
|
## User settings
|
||||||
|
xcuserdata/
|
||||||
|
|
||||||
|
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
|
||||||
|
*.xcscmblueprint
|
||||||
|
*.xccheckout
|
||||||
|
|
||||||
|
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
|
||||||
|
build/
|
||||||
|
DerivedData/
|
||||||
|
*.moved-aside
|
||||||
|
*.pbxuser
|
||||||
|
!default.pbxuser
|
||||||
|
*.mode1v3
|
||||||
|
!default.mode1v3
|
||||||
|
*.mode2v3
|
||||||
|
!default.mode2v3
|
||||||
|
*.perspectivev3
|
||||||
|
!default.perspectivev3
|
||||||
|
|
||||||
|
## Obj-C/Swift specific
|
||||||
|
*.hmap
|
||||||
|
|
||||||
|
## App packaging
|
||||||
|
*.ipa
|
||||||
|
*.dSYM.zip
|
||||||
|
*.dSYM
|
||||||
|
|
||||||
|
## Playgrounds
|
||||||
|
timeline.xctimeline
|
||||||
|
playground.xcworkspace
|
||||||
|
|
||||||
|
# Swift Package Manager
|
||||||
|
#
|
||||||
|
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
|
||||||
|
# Packages/
|
||||||
|
# Package.pins
|
||||||
|
# Package.resolved
|
||||||
|
# *.xcodeproj
|
||||||
|
#
|
||||||
|
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
|
||||||
|
# hence it is not needed unless you have added a package configuration file to your project
|
||||||
|
# .swiftpm
|
||||||
|
|
||||||
|
.build/
|
||||||
|
|
||||||
|
# CocoaPods
|
||||||
|
#
|
||||||
|
# We recommend against adding the Pods directory to your .gitignore. However
|
||||||
|
# you should judge for yourself, the pros and cons are mentioned at:
|
||||||
|
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
||||||
|
#
|
||||||
|
# Pods/
|
||||||
|
#
|
||||||
|
# Add this line if you want to avoid checking in source code from the Xcode workspace
|
||||||
|
# *.xcworkspace
|
||||||
|
|
||||||
|
# Carthage
|
||||||
|
#
|
||||||
|
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
||||||
|
# Carthage/Checkouts
|
||||||
|
|
||||||
|
Carthage/Build/
|
||||||
|
|
||||||
|
# Accio dependency management
|
||||||
|
Dependencies/
|
||||||
|
.accio/
|
||||||
|
|
||||||
|
# fastlane
|
||||||
|
#
|
||||||
|
# It is recommended to not store the screenshots in the git repo.
|
||||||
|
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
|
||||||
|
# For more information about the recommended setup visit:
|
||||||
|
# https://docs.fastlane.tools/best-practices/source-control/#source-control
|
||||||
|
|
||||||
|
fastlane/report.xml
|
||||||
|
fastlane/Preview.html
|
||||||
|
fastlane/screenshots/**/*.png
|
||||||
|
fastlane/test_output
|
||||||
|
|
||||||
|
# Code Injection
|
||||||
|
#
|
||||||
|
# After new code Injection tools there's a generated folder /iOSInjectionProject
|
||||||
|
# https://github.com/johnno1962/injectionforxcode
|
||||||
|
|
||||||
|
iOSInjectionProject/
|
||||||
|
|
||||||
# SwiftLint Remote Config Cache
|
# SwiftLint Remote Config Cache
|
||||||
.swiftlint/RemoteConfigCache
|
.swiftlint/RemoteConfigCache
|
@ -36,7 +36,7 @@ extension PlayerModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return UIAction(
|
return UIAction(
|
||||||
title: "Restore \(segment.category)",
|
title: "Restore \(segment.title())",
|
||||||
image: UIImage(systemName: "arrow.uturn.left.circle")
|
image: UIImage(systemName: "arrow.uturn.left.circle")
|
||||||
) { _ in
|
) { _ in
|
||||||
self.restoreLastSkippedSegment()
|
self.restoreLastSkippedSegment()
|
||||||
|
@ -13,10 +13,6 @@ class Segment: ObservableObject, Hashable {
|
|||||||
segment.first!
|
segment.first!
|
||||||
}
|
}
|
||||||
|
|
||||||
var startTime: CMTime {
|
|
||||||
CMTime(seconds: start, preferredTimescale: 1000)
|
|
||||||
}
|
|
||||||
|
|
||||||
var end: Double {
|
var end: Double {
|
||||||
segment.last!
|
segment.last!
|
||||||
}
|
}
|
||||||
@ -25,10 +21,6 @@ class Segment: ObservableObject, Hashable {
|
|||||||
CMTime(seconds: end, preferredTimescale: 1000)
|
CMTime(seconds: end, preferredTimescale: 1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
var duration: Double {
|
|
||||||
end - start
|
|
||||||
}
|
|
||||||
|
|
||||||
init(category: String, segment: [Double], uuid: String, videoDuration: Int) {
|
init(category: String, segment: [Double], uuid: String, videoDuration: Int) {
|
||||||
self.category = category
|
self.category = category
|
||||||
self.segment = segment
|
self.segment = segment
|
||||||
|
13
Open in Yattee/Info.plist
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-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>NSExtension</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSExtensionPointIdentifier</key>
|
||||||
|
<string>com.apple.Safari.web-extension</string>
|
||||||
|
<key>NSExtensionPrincipalClass</key>
|
||||||
|
<string>$(PRODUCT_MODULE_NAME).SafariWebExtensionHandler</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
10
Open in Yattee/Open in Yattee.entitlements
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-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>com.apple.security.app-sandbox</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.security.files.user-selected.read-only</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
BIN
Open in Yattee/Resources/images/icon-128.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
Open in Yattee/Resources/images/icon-256.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Open in Yattee/Resources/images/icon-48.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
Open in Yattee/Resources/images/icon-512.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
Open in Yattee/Resources/images/icon-64.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
Open in Yattee/Resources/images/icon-96.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
Open in Yattee/Resources/images/toolbar-icon-16.png
Normal file
After Width: | Height: | Size: 454 B |
BIN
Open in Yattee/Resources/images/toolbar-icon-19.png
Normal file
After Width: | Height: | Size: 569 B |
BIN
Open in Yattee/Resources/images/toolbar-icon-32.png
Normal file
After Width: | Height: | Size: 919 B |
BIN
Open in Yattee/Resources/images/toolbar-icon-38.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
36
Open in Yattee/Resources/manifest.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"manifest_version": 2,
|
||||||
|
"default_locale": "en",
|
||||||
|
|
||||||
|
"name": "Open in Yattee",
|
||||||
|
"description": "Open YouTube videos in Yattee app",
|
||||||
|
"version": "1.0",
|
||||||
|
|
||||||
|
"icons": {
|
||||||
|
"48": "images/icon-48.png",
|
||||||
|
"96": "images/icon-96.png",
|
||||||
|
"128": "images/icon-128.png",
|
||||||
|
"256": "images/icon-256.png",
|
||||||
|
"512": "images/icon-512.png"
|
||||||
|
},
|
||||||
|
"content_scripts": [{
|
||||||
|
"js": [ "content.js" ],
|
||||||
|
"matches": [
|
||||||
|
"*://*.youtube-nocookie.com/*",
|
||||||
|
"*://*.youtube.com/*",
|
||||||
|
"*://*.youtu.be/*"
|
||||||
|
]
|
||||||
|
}],
|
||||||
|
|
||||||
|
"browser_action": {
|
||||||
|
"default_popup": "popup.html",
|
||||||
|
"default_icon": {
|
||||||
|
"16": "images/toolbar-icon-16.png",
|
||||||
|
"19": "images/toolbar-icon-19.png",
|
||||||
|
"32": "images/toolbar-icon-32.png",
|
||||||
|
"38": "images/toolbar-icon-38.png"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"permissions": [ ]
|
||||||
|
}
|
15
Open in Yattee/Resources/popup.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
:root {
|
||||||
|
color-scheme: light dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
width: 100px;
|
||||||
|
padding: 10px;
|
||||||
|
|
||||||
|
font-family: system-ui;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
/* Dark Mode styles go here. */
|
||||||
|
}
|
11
Open in Yattee/Resources/popup.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<link rel="stylesheet" href="popup.css">
|
||||||
|
<script type="module" src="popup.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<strong>Hello World!</strong>
|
||||||
|
</body>
|
||||||
|
</html>
|
1
Open in Yattee/Resources/popup.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
console.log("Hello World!", browser);
|
15
Open in Yattee/SafariWebExtensionHandler.swift
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import os.log
|
||||||
|
import SafariServices
|
||||||
|
|
||||||
|
final class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
|
||||||
|
func beginRequest(with context: NSExtensionContext) {
|
||||||
|
let item = context.inputItems[0] as! NSExtensionItem
|
||||||
|
let message = item.userInfo?[SFExtensionMessageKey]
|
||||||
|
os_log(.default, "Received message from browser.runtime.sendNativeMessage: %@", message as! CVarArg)
|
||||||
|
|
||||||
|
let response = NSExtensionItem()
|
||||||
|
response.userInfo = [SFExtensionMessageKey: ["Response to": message]]
|
||||||
|
|
||||||
|
context.completeRequest(returningItems: [response], completionHandler: nil)
|
||||||
|
}
|
||||||
|
}
|
26
Open in Yattee/content.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
if (document.readyState !== 'complete') {
|
||||||
|
window.addEventListener('load', redirectAndReplaceContentWithLink);
|
||||||
|
} else {
|
||||||
|
redirectAndReplaceContentWithLink();
|
||||||
|
}
|
||||||
|
|
||||||
|
function yatteeUrl() {
|
||||||
|
return window.location.href.replace(/^https?:\/\//, 'yattee://');
|
||||||
|
}
|
||||||
|
|
||||||
|
function yatteeLink() {
|
||||||
|
return '<a href="'+ yatteeUrl() +'" onclick=\'window.location.href="'+ yatteeUrl() +'"\'>Open in Yattee</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
function redirect() {
|
||||||
|
window.location.href = yatteeUrl()
|
||||||
|
}
|
||||||
|
|
||||||
|
function replaceContentWithLink() {
|
||||||
|
document.querySelector('body').innerHTML = yatteeLink();
|
||||||
|
}
|
||||||
|
|
||||||
|
function redirectAndReplaceContentWithLink(){
|
||||||
|
redirect()
|
||||||
|
replaceContentWithLink()
|
||||||
|
}
|
@ -7,6 +7,17 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXAggregateTarget section */
|
/* Begin PBXAggregateTarget section */
|
||||||
|
37A3B19C27258492000FB5EE /* Periphery (iOS) */ = {
|
||||||
|
isa = PBXAggregateTarget;
|
||||||
|
buildConfigurationList = 37A3B19D27258492000FB5EE /* Build configuration list for PBXAggregateTarget "Periphery (iOS)" */;
|
||||||
|
buildPhases = (
|
||||||
|
37A3B1A0272584A6000FB5EE /* ShellScript */,
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "Periphery (iOS)";
|
||||||
|
productName = "Periphery (iOS)";
|
||||||
|
};
|
||||||
37FD43E62704A2240073EE42 /* Periphery (macOS) */ = {
|
37FD43E62704A2240073EE42 /* Periphery (macOS) */ = {
|
||||||
isa = PBXAggregateTarget;
|
isa = PBXAggregateTarget;
|
||||||
buildConfigurationList = 37FD43E72704A2240073EE42 /* Build configuration list for PBXAggregateTarget "Periphery (macOS)" */;
|
buildConfigurationList = 37FD43E72704A2240073EE42 /* Build configuration list for PBXAggregateTarget "Periphery (macOS)" */;
|
||||||
@ -201,6 +212,22 @@
|
|||||||
379775932689365600DD52A8 /* Array+Next.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379775922689365600DD52A8 /* Array+Next.swift */; };
|
379775932689365600DD52A8 /* Array+Next.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379775922689365600DD52A8 /* Array+Next.swift */; };
|
||||||
379775942689365600DD52A8 /* Array+Next.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379775922689365600DD52A8 /* Array+Next.swift */; };
|
379775942689365600DD52A8 /* Array+Next.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379775922689365600DD52A8 /* Array+Next.swift */; };
|
||||||
379775952689365600DD52A8 /* Array+Next.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379775922689365600DD52A8 /* Array+Next.swift */; };
|
379775952689365600DD52A8 /* Array+Next.swift in Sources */ = {isa = PBXBuildFile; fileRef = 379775922689365600DD52A8 /* Array+Next.swift */; };
|
||||||
|
37A3B15A27255E7F000FB5EE /* SafariWebExtensionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A3B15927255E7F000FB5EE /* SafariWebExtensionHandler.swift */; };
|
||||||
|
37A3B15F27255E7F000FB5EE /* images in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B15E27255E7F000FB5EE /* images */; };
|
||||||
|
37A3B16127255E7F000FB5EE /* manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16027255E7F000FB5EE /* manifest.json */; };
|
||||||
|
37A3B16527255E7F000FB5EE /* content.js in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16427255E7F000FB5EE /* content.js */; };
|
||||||
|
37A3B16727255E7F000FB5EE /* popup.html in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16627255E7F000FB5EE /* popup.html */; };
|
||||||
|
37A3B16927255E7F000FB5EE /* popup.css in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16827255E7F000FB5EE /* popup.css */; };
|
||||||
|
37A3B16B27255E7F000FB5EE /* popup.js in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16A27255E7F000FB5EE /* popup.js */; };
|
||||||
|
37A3B17027255E7F000FB5EE /* Open in Yattee (macOS).appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 37A3B15727255E7F000FB5EE /* Open in Yattee (macOS).appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
|
37A3B18F2725735F000FB5EE /* Open in Yattee (iOS).appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 37A3B1792725735F000FB5EE /* Open in Yattee (iOS).appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
|
37A3B194272574FB000FB5EE /* SafariWebExtensionHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A3B15927255E7F000FB5EE /* SafariWebExtensionHandler.swift */; };
|
||||||
|
37A3B19627257503000FB5EE /* content.js in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16427255E7F000FB5EE /* content.js */; };
|
||||||
|
37A3B1972725750B000FB5EE /* popup.js in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16A27255E7F000FB5EE /* popup.js */; };
|
||||||
|
37A3B1982725750B000FB5EE /* manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16027255E7F000FB5EE /* manifest.json */; };
|
||||||
|
37A3B1992725750B000FB5EE /* popup.html in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16627255E7F000FB5EE /* popup.html */; };
|
||||||
|
37A3B19A2725750B000FB5EE /* popup.css in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B16827255E7F000FB5EE /* popup.css */; };
|
||||||
|
37A3B19B2725750F000FB5EE /* images in Resources */ = {isa = PBXBuildFile; fileRef = 37A3B15E27255E7F000FB5EE /* images */; };
|
||||||
37A9965A26D6F8CA006E3224 /* HorizontalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A9965926D6F8CA006E3224 /* HorizontalCells.swift */; };
|
37A9965A26D6F8CA006E3224 /* HorizontalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A9965926D6F8CA006E3224 /* HorizontalCells.swift */; };
|
||||||
37A9965B26D6F8CA006E3224 /* HorizontalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A9965926D6F8CA006E3224 /* HorizontalCells.swift */; };
|
37A9965B26D6F8CA006E3224 /* HorizontalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A9965926D6F8CA006E3224 /* HorizontalCells.swift */; };
|
||||||
37A9965C26D6F8CA006E3224 /* HorizontalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A9965926D6F8CA006E3224 /* HorizontalCells.swift */; };
|
37A9965C26D6F8CA006E3224 /* HorizontalCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37A9965926D6F8CA006E3224 /* HorizontalCells.swift */; };
|
||||||
@ -387,6 +414,20 @@
|
|||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
|
37A3B16E27255E7F000FB5EE /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 37D4B0BD2671614700C925CA /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = 37A3B15627255E7F000FB5EE;
|
||||||
|
remoteInfo = "Open in Yattee";
|
||||||
|
};
|
||||||
|
37A3B18D2725735F000FB5EE /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 37D4B0BD2671614700C925CA /* Project object */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = 37A3B1782725735F000FB5EE;
|
||||||
|
remoteInfo = "Open in Yattee";
|
||||||
|
};
|
||||||
37D4B0D52671614900C925CA /* PBXContainerItemProxy */ = {
|
37D4B0D52671614900C925CA /* PBXContainerItemProxy */ = {
|
||||||
isa = PBXContainerItemProxy;
|
isa = PBXContainerItemProxy;
|
||||||
containerPortal = 37D4B0BD2671614700C925CA /* Project object */;
|
containerPortal = 37D4B0BD2671614700C925CA /* Project object */;
|
||||||
@ -410,6 +451,31 @@
|
|||||||
};
|
};
|
||||||
/* End PBXContainerItemProxy section */
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
37A3B17127255E7F000FB5EE /* Embed App Extensions */ = {
|
||||||
|
isa = PBXCopyFilesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
dstPath = "";
|
||||||
|
dstSubfolderSpec = 13;
|
||||||
|
files = (
|
||||||
|
37A3B17027255E7F000FB5EE /* Open in Yattee (macOS).appex in Embed App Extensions */,
|
||||||
|
);
|
||||||
|
name = "Embed App Extensions";
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
37A3B1932725735F000FB5EE /* Embed App Extensions */ = {
|
||||||
|
isa = PBXCopyFilesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
dstPath = "";
|
||||||
|
dstSubfolderSpec = 13;
|
||||||
|
files = (
|
||||||
|
37A3B18F2725735F000FB5EE /* Open in Yattee (iOS).appex in Embed App Extensions */,
|
||||||
|
);
|
||||||
|
name = "Embed App Extensions";
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
3700155A271B0D4D0049C794 /* PipedAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PipedAPI.swift; sourceTree = "<group>"; };
|
3700155A271B0D4D0049C794 /* PipedAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PipedAPI.swift; sourceTree = "<group>"; };
|
||||||
3700155E271B12DD0049C794 /* SiestaConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiestaConfiguration.swift; sourceTree = "<group>"; };
|
3700155E271B12DD0049C794 /* SiestaConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiestaConfiguration.swift; sourceTree = "<group>"; };
|
||||||
@ -469,6 +535,17 @@
|
|||||||
3797758A2689345500DD52A8 /* Store.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = "<group>"; };
|
3797758A2689345500DD52A8 /* Store.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = "<group>"; };
|
||||||
379775922689365600DD52A8 /* Array+Next.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Next.swift"; sourceTree = "<group>"; };
|
379775922689365600DD52A8 /* Array+Next.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Next.swift"; sourceTree = "<group>"; };
|
||||||
37992DC726CC50BC003D4C27 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
37992DC726CC50BC003D4C27 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
37A3B15727255E7F000FB5EE /* Open in Yattee (macOS).appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Open in Yattee (macOS).appex"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
37A3B15927255E7F000FB5EE /* SafariWebExtensionHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariWebExtensionHandler.swift; sourceTree = "<group>"; };
|
||||||
|
37A3B15E27255E7F000FB5EE /* images */ = {isa = PBXFileReference; lastKnownFileType = folder; path = images; sourceTree = "<group>"; };
|
||||||
|
37A3B16027255E7F000FB5EE /* manifest.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = manifest.json; sourceTree = "<group>"; };
|
||||||
|
37A3B16427255E7F000FB5EE /* content.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = content.js; sourceTree = "<group>"; };
|
||||||
|
37A3B16627255E7F000FB5EE /* popup.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = popup.html; sourceTree = "<group>"; };
|
||||||
|
37A3B16827255E7F000FB5EE /* popup.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; path = popup.css; sourceTree = "<group>"; };
|
||||||
|
37A3B16A27255E7F000FB5EE /* popup.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = popup.js; sourceTree = "<group>"; };
|
||||||
|
37A3B16C27255E7F000FB5EE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
37A3B16D27255E7F000FB5EE /* Open in Yattee.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Open in Yattee.entitlements"; sourceTree = "<group>"; };
|
||||||
|
37A3B1792725735F000FB5EE /* Open in Yattee (iOS).appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Open in Yattee (iOS).appex"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
37A9965926D6F8CA006E3224 /* HorizontalCells.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HorizontalCells.swift; sourceTree = "<group>"; };
|
37A9965926D6F8CA006E3224 /* HorizontalCells.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HorizontalCells.swift; sourceTree = "<group>"; };
|
||||||
37A9965D26D6F9B9006E3224 /* WatchNowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchNowView.swift; sourceTree = "<group>"; };
|
37A9965D26D6F9B9006E3224 /* WatchNowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchNowView.swift; sourceTree = "<group>"; };
|
||||||
37AAF27D26737323007FC770 /* PopularView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopularView.swift; sourceTree = "<group>"; };
|
37AAF27D26737323007FC770 /* PopularView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopularView.swift; sourceTree = "<group>"; };
|
||||||
@ -547,6 +624,20 @@
|
|||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
37A3B15427255E7F000FB5EE /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
37A3B1762725735F000FB5EE /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
37D4B0C62671614900C925CA /* Frameworks */ = {
|
37D4B0C62671614900C925CA /* Frameworks */ = {
|
||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -811,6 +902,30 @@
|
|||||||
path = iOS;
|
path = iOS;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
37A3B15827255E7F000FB5EE /* Open in Yattee */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
37A3B15B27255E7F000FB5EE /* Resources */,
|
||||||
|
37A3B16427255E7F000FB5EE /* content.js */,
|
||||||
|
37A3B16C27255E7F000FB5EE /* Info.plist */,
|
||||||
|
37A3B16D27255E7F000FB5EE /* Open in Yattee.entitlements */,
|
||||||
|
37A3B15927255E7F000FB5EE /* SafariWebExtensionHandler.swift */,
|
||||||
|
);
|
||||||
|
path = "Open in Yattee";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
37A3B15B27255E7F000FB5EE /* Resources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
37A3B15E27255E7F000FB5EE /* images */,
|
||||||
|
37A3B16027255E7F000FB5EE /* manifest.json */,
|
||||||
|
37A3B16627255E7F000FB5EE /* popup.html */,
|
||||||
|
37A3B16827255E7F000FB5EE /* popup.css */,
|
||||||
|
37A3B16A27255E7F000FB5EE /* popup.js */,
|
||||||
|
);
|
||||||
|
path = Resources;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
37BA796C26DC4105002A0235 /* Extensions */ = {
|
37BA796C26DC4105002A0235 /* Extensions */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -854,6 +969,7 @@
|
|||||||
37D4B1B72672CFE300C925CA /* Model */,
|
37D4B1B72672CFE300C925CA /* Model */,
|
||||||
37C7A9022679058300E721B4 /* Extensions */,
|
37C7A9022679058300E721B4 /* Extensions */,
|
||||||
3748186426A762300084E870 /* Fixtures */,
|
3748186426A762300084E870 /* Fixtures */,
|
||||||
|
37A3B15827255E7F000FB5EE /* Open in Yattee */,
|
||||||
377FC7D1267A080300A6BBAF /* Frameworks */,
|
377FC7D1267A080300A6BBAF /* Frameworks */,
|
||||||
37D4B0CA2671614900C925CA /* Products */,
|
37D4B0CA2671614900C925CA /* Products */,
|
||||||
37D4B174267164B000C925CA /* Tests Apple TV */,
|
37D4B174267164B000C925CA /* Tests Apple TV */,
|
||||||
@ -896,6 +1012,8 @@
|
|||||||
37D4B0DE2671614900C925CA /* Tests (macOS).xctest */,
|
37D4B0DE2671614900C925CA /* Tests (macOS).xctest */,
|
||||||
37D4B158267164AE00C925CA /* Pearvidious (tvOS).app */,
|
37D4B158267164AE00C925CA /* Pearvidious (tvOS).app */,
|
||||||
37D4B171267164B000C925CA /* Tests (tvOS).xctest */,
|
37D4B171267164B000C925CA /* Tests (tvOS).xctest */,
|
||||||
|
37A3B15727255E7F000FB5EE /* Open in Yattee (macOS).appex */,
|
||||||
|
37A3B1792725735F000FB5EE /* Open in Yattee (iOS).appex */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -994,6 +1112,40 @@
|
|||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
|
37A3B15627255E7F000FB5EE /* Open in Yattee (macOS) */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 37A3B17427255E7F000FB5EE /* Build configuration list for PBXNativeTarget "Open in Yattee (macOS)" */;
|
||||||
|
buildPhases = (
|
||||||
|
37A3B15327255E7F000FB5EE /* Sources */,
|
||||||
|
37A3B15427255E7F000FB5EE /* Frameworks */,
|
||||||
|
37A3B15527255E7F000FB5EE /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "Open in Yattee (macOS)";
|
||||||
|
productName = "Open in Yattee";
|
||||||
|
productReference = 37A3B15727255E7F000FB5EE /* Open in Yattee (macOS).appex */;
|
||||||
|
productType = "com.apple.product-type.app-extension";
|
||||||
|
};
|
||||||
|
37A3B1782725735F000FB5EE /* Open in Yattee (iOS) */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 37A3B1902725735F000FB5EE /* Build configuration list for PBXNativeTarget "Open in Yattee (iOS)" */;
|
||||||
|
buildPhases = (
|
||||||
|
37A3B1752725735F000FB5EE /* Sources */,
|
||||||
|
37A3B1762725735F000FB5EE /* Frameworks */,
|
||||||
|
37A3B1772725735F000FB5EE /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "Open in Yattee (iOS)";
|
||||||
|
productName = "Open in Yattee";
|
||||||
|
productReference = 37A3B1792725735F000FB5EE /* Open in Yattee (iOS).appex */;
|
||||||
|
productType = "com.apple.product-type.app-extension";
|
||||||
|
};
|
||||||
37D4B0C82671614900C925CA /* Pearvidious (iOS) */ = {
|
37D4B0C82671614900C925CA /* Pearvidious (iOS) */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 37D4B0EC2671614900C925CA /* Build configuration list for PBXNativeTarget "Pearvidious (iOS)" */;
|
buildConfigurationList = 37D4B0EC2671614900C925CA /* Build configuration list for PBXNativeTarget "Pearvidious (iOS)" */;
|
||||||
@ -1002,10 +1154,12 @@
|
|||||||
37D4B0C62671614900C925CA /* Frameworks */,
|
37D4B0C62671614900C925CA /* Frameworks */,
|
||||||
37D4B0C72671614900C925CA /* Resources */,
|
37D4B0C72671614900C925CA /* Resources */,
|
||||||
37CC3F48270CE89B00608308 /* ShellScript */,
|
37CC3F48270CE89B00608308 /* ShellScript */,
|
||||||
|
37A3B1932725735F000FB5EE /* Embed App Extensions */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
|
37A3B18E2725735F000FB5EE /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
name = "Pearvidious (iOS)";
|
name = "Pearvidious (iOS)";
|
||||||
packageProductDependencies = (
|
packageProductDependencies = (
|
||||||
@ -1032,10 +1186,12 @@
|
|||||||
37D4B0CC2671614900C925CA /* Frameworks */,
|
37D4B0CC2671614900C925CA /* Frameworks */,
|
||||||
37D4B0CD2671614900C925CA /* Resources */,
|
37D4B0CD2671614900C925CA /* Resources */,
|
||||||
37CC3F4A270CE8D000608308 /* ShellScript */,
|
37CC3F4A270CE8D000608308 /* ShellScript */,
|
||||||
|
37A3B17127255E7F000FB5EE /* Embed App Extensions */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
|
37A3B16F27255E7F000FB5EE /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
name = "Pearvidious (macOS)";
|
name = "Pearvidious (macOS)";
|
||||||
packageProductDependencies = (
|
packageProductDependencies = (
|
||||||
@ -1143,9 +1299,18 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
BuildIndependentTargetsInParallel = 1;
|
BuildIndependentTargetsInParallel = 1;
|
||||||
LastSwiftUpdateCheck = 1300;
|
LastSwiftUpdateCheck = 1310;
|
||||||
LastUpgradeCheck = 1310;
|
LastUpgradeCheck = 1310;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
|
37A3B15627255E7F000FB5EE = {
|
||||||
|
CreatedOnToolsVersion = 13.1;
|
||||||
|
};
|
||||||
|
37A3B1782725735F000FB5EE = {
|
||||||
|
CreatedOnToolsVersion = 13.1;
|
||||||
|
};
|
||||||
|
37A3B19C27258492000FB5EE = {
|
||||||
|
CreatedOnToolsVersion = 13.1;
|
||||||
|
};
|
||||||
37D4B0C82671614900C925CA = {
|
37D4B0C82671614900C925CA = {
|
||||||
CreatedOnToolsVersion = 13.0;
|
CreatedOnToolsVersion = 13.0;
|
||||||
};
|
};
|
||||||
@ -1203,16 +1368,45 @@
|
|||||||
37D4B0C82671614900C925CA /* Pearvidious (iOS) */,
|
37D4B0C82671614900C925CA /* Pearvidious (iOS) */,
|
||||||
37D4B0CE2671614900C925CA /* Pearvidious (macOS) */,
|
37D4B0CE2671614900C925CA /* Pearvidious (macOS) */,
|
||||||
37D4B157267164AE00C925CA /* Pearvidious (tvOS) */,
|
37D4B157267164AE00C925CA /* Pearvidious (tvOS) */,
|
||||||
|
37A3B1782725735F000FB5EE /* Open in Yattee (iOS) */,
|
||||||
|
37A3B15627255E7F000FB5EE /* Open in Yattee (macOS) */,
|
||||||
|
37A3B19C27258492000FB5EE /* Periphery (iOS) */,
|
||||||
|
37FD43E62704A2240073EE42 /* Periphery (macOS) */,
|
||||||
|
37FD43EB2704A7710073EE42 /* Periphery (tvOS) */,
|
||||||
37D4B0D32671614900C925CA /* Tests (iOS) */,
|
37D4B0D32671614900C925CA /* Tests (iOS) */,
|
||||||
37D4B0DD2671614900C925CA /* Tests (macOS) */,
|
37D4B0DD2671614900C925CA /* Tests (macOS) */,
|
||||||
37D4B170267164B000C925CA /* Tests (tvOS) */,
|
37D4B170267164B000C925CA /* Tests (tvOS) */,
|
||||||
37FD43E62704A2240073EE42 /* Periphery (macOS) */,
|
|
||||||
37FD43EB2704A7710073EE42 /* Periphery (tvOS) */,
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
37A3B15527255E7F000FB5EE /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
37A3B16927255E7F000FB5EE /* popup.css in Resources */,
|
||||||
|
37A3B16727255E7F000FB5EE /* popup.html in Resources */,
|
||||||
|
37A3B15F27255E7F000FB5EE /* images in Resources */,
|
||||||
|
37A3B16127255E7F000FB5EE /* manifest.json in Resources */,
|
||||||
|
37A3B16527255E7F000FB5EE /* content.js in Resources */,
|
||||||
|
37A3B16B27255E7F000FB5EE /* popup.js in Resources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
37A3B1772725735F000FB5EE /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
37A3B1982725750B000FB5EE /* manifest.json in Resources */,
|
||||||
|
37A3B1992725750B000FB5EE /* popup.html in Resources */,
|
||||||
|
37A3B19A2725750B000FB5EE /* popup.css in Resources */,
|
||||||
|
37A3B19627257503000FB5EE /* content.js in Resources */,
|
||||||
|
37A3B1972725750B000FB5EE /* popup.js in Resources */,
|
||||||
|
37A3B19B2725750F000FB5EE /* images in Resources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
37D4B0C72671614900C925CA /* Resources */ = {
|
37D4B0C72671614900C925CA /* Resources */ = {
|
||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -1262,6 +1456,23 @@
|
|||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
37A3B1A0272584A6000FB5EE /* ShellScript */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "periphery scan \\\n --project \"Pearvidious.xcodeproj\" \\\n --schemes \"Pearvidious (iOS)\" \\\n --targets \"Pearvidious (iOS)\" \\\n --retain-objc-accessible \\\n --retain-public \\\n -- -destination \"platform=iOS\\ Simulator,name=iPhone\\ 8,OS=15.0\"\n";
|
||||||
|
};
|
||||||
37CC3F48270CE89B00608308 /* ShellScript */ = {
|
37CC3F48270CE89B00608308 /* ShellScript */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -1350,6 +1561,22 @@
|
|||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
37A3B15327255E7F000FB5EE /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
37A3B15A27255E7F000FB5EE /* SafariWebExtensionHandler.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
37A3B1752725735F000FB5EE /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
37A3B194272574FB000FB5EE /* SafariWebExtensionHandler.swift in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
37D4B0C52671614900C925CA /* Sources */ = {
|
37D4B0C52671614900C925CA /* Sources */ = {
|
||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -1715,6 +1942,16 @@
|
|||||||
/* End PBXSourcesBuildPhase section */
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXTargetDependency section */
|
/* Begin PBXTargetDependency section */
|
||||||
|
37A3B16F27255E7F000FB5EE /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = 37A3B15627255E7F000FB5EE /* Open in Yattee (macOS) */;
|
||||||
|
targetProxy = 37A3B16E27255E7F000FB5EE /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
|
37A3B18E2725735F000FB5EE /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
target = 37A3B1782725735F000FB5EE /* Open in Yattee (iOS) */;
|
||||||
|
targetProxy = 37A3B18D2725735F000FB5EE /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
37D4B0D62671614900C925CA /* PBXTargetDependency */ = {
|
37D4B0D62671614900C925CA /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
target = 37D4B0C82671614900C925CA /* Pearvidious (iOS) */;
|
target = 37D4B0C82671614900C925CA /* Pearvidious (iOS) */;
|
||||||
@ -1733,6 +1970,157 @@
|
|||||||
/* End PBXTargetDependency section */
|
/* End PBXTargetDependency section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
|
37A3B17227255E7F000FB5EE /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CODE_SIGN_ENTITLEMENTS = "Open in Yattee/Open in Yattee.entitlements";
|
||||||
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
|
||||||
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = "Open in Yattee/Info.plist";
|
||||||
|
INFOPLIST_KEY_CFBundleDisplayName = "Open in Yattee";
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/../Frameworks",
|
||||||
|
"@executable_path/../../../../Frameworks",
|
||||||
|
);
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-framework",
|
||||||
|
SafariServices,
|
||||||
|
);
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "net.arekf.Pearvidious.Open-in-Yattee";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SDKROOT = macosx;
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
37A3B17327255E7F000FB5EE /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CODE_SIGN_ENTITLEMENTS = "Open in Yattee/Open in Yattee.entitlements";
|
||||||
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
|
||||||
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = "Open in Yattee/Info.plist";
|
||||||
|
INFOPLIST_KEY_CFBundleDisplayName = "Open in Yattee";
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/../Frameworks",
|
||||||
|
"@executable_path/../../../../Frameworks",
|
||||||
|
);
|
||||||
|
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-framework",
|
||||||
|
SafariServices,
|
||||||
|
);
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "net.arekf.Pearvidious.Open-in-Yattee";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SDKROOT = macosx;
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
37A3B1912725735F000FB5EE /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = "Open in Yattee/Info.plist";
|
||||||
|
INFOPLIST_KEY_CFBundleDisplayName = "Open in Yattee";
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
);
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-framework",
|
||||||
|
SafariServices,
|
||||||
|
);
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "net.arekf.Pearvidious.Open-in-Yattee";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
37A3B1922725735F000FB5EE /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
|
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
|
||||||
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
|
INFOPLIST_FILE = "Open in Yattee/Info.plist";
|
||||||
|
INFOPLIST_KEY_CFBundleDisplayName = "Open in Yattee";
|
||||||
|
INFOPLIST_KEY_NSHumanReadableCopyright = "";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||||
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"@executable_path/Frameworks",
|
||||||
|
"@executable_path/../../Frameworks",
|
||||||
|
);
|
||||||
|
MARKETING_VERSION = 1.0;
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-framework",
|
||||||
|
SafariServices,
|
||||||
|
);
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER = "net.arekf.Pearvidious.Open-in-Yattee";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
SKIP_INSTALL = YES;
|
||||||
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
|
SWIFT_VERSION = 5.0;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
VALIDATE_PRODUCT = YES;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
37A3B19E27258492000FB5EE /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
37A3B19F27258492000FB5EE /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
|
DEVELOPMENT_TEAM = 78Z5H3M6RJ;
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
37D4B0EA2671614900C925CA /* Debug */ = {
|
37D4B0EA2671614900C925CA /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
@ -1847,6 +2235,7 @@
|
|||||||
37D4B0ED2671614900C925CA /* Debug */ = {
|
37D4B0ED2671614900C925CA /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -1878,6 +2267,7 @@
|
|||||||
37D4B0EE2671614900C925CA /* Release */ = {
|
37D4B0EE2671614900C925CA /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
@ -1910,10 +2300,11 @@
|
|||||||
37D4B0F02671614900C925CA /* Debug */ = {
|
37D4B0F02671614900C925CA /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_ENTITLEMENTS = Shared/Pearvidious.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Shared/Pearvidious.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
@ -1943,10 +2334,11 @@
|
|||||||
37D4B0F12671614900C925CA /* Release */ = {
|
37D4B0F12671614900C925CA /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_ENTITLEMENTS = Shared/Pearvidious.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Shared/Pearvidious.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "-";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 1;
|
||||||
@ -2231,6 +2623,33 @@
|
|||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
|
37A3B17427255E7F000FB5EE /* Build configuration list for PBXNativeTarget "Open in Yattee (macOS)" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
37A3B17227255E7F000FB5EE /* Debug */,
|
||||||
|
37A3B17327255E7F000FB5EE /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
37A3B1902725735F000FB5EE /* Build configuration list for PBXNativeTarget "Open in Yattee (iOS)" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
37A3B1912725735F000FB5EE /* Debug */,
|
||||||
|
37A3B1922725735F000FB5EE /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
37A3B19D27258492000FB5EE /* Build configuration list for PBXAggregateTarget "Periphery (iOS)" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
37A3B19E27258492000FB5EE /* Debug */,
|
||||||
|
37A3B19F27258492000FB5EE /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
37D4B0C02671614700C925CA /* Build configuration list for PBXProject "Pearvidious" */ = {
|
37D4B0C02671614700C925CA /* Build configuration list for PBXProject "Pearvidious" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1310"
|
||||||
|
version = "1.3">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "37A3B19C27258492000FB5EE"
|
||||||
|
BuildableName = "Periphery (iOS)"
|
||||||
|
BlueprintName = "Periphery (iOS)"
|
||||||
|
ReferencedContainer = "container:Pearvidious.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
|
<Testables>
|
||||||
|
</Testables>
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "37A3B19C27258492000FB5EE"
|
||||||
|
BuildableName = "Periphery (iOS)"
|
||||||
|
BlueprintName = "Periphery (iOS)"
|
||||||
|
ReferencedContainer = "container:Pearvidious.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Bucket
|
|
||||||
uuid = "E30DA302-B258-4C14-8808-5E4CE238A4FF"
|
|
||||||
type = "1"
|
|
||||||
version = "2.0">
|
|
||||||
</Bucket>
|
|
@ -1,109 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-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>SchemeUserState</key>
|
|
||||||
<dict>
|
|
||||||
<key>Pearvidious (iOS).xcscheme_^#shared#^_</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Pearvidious (macOS).xcscheme_^#shared#^_</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Pearvidious (tvOS).xcscheme_^#shared#^_</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>2</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Periphery (iOS).xcscheme_^#shared#^_</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>7</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Periphery (macOS).xcscheme_^#shared#^_</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>3</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Periphery (tvOS).xcscheme_^#shared#^_</key>
|
|
||||||
<dict>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>4</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Playground (Playground) 1.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>6</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Playground (Playground) 2.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>7</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Playground (Playground) 3.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>3</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Playground (Playground) 4.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>7</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Playground (Playground) 5.xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>8</integer>
|
|
||||||
</dict>
|
|
||||||
<key>Playground (Playground).xcscheme</key>
|
|
||||||
<dict>
|
|
||||||
<key>isShown</key>
|
|
||||||
<false/>
|
|
||||||
<key>orderHint</key>
|
|
||||||
<integer>5</integer>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
<key>SuppressBuildableAutocreation</key>
|
|
||||||
<dict>
|
|
||||||
<key>37D4B0CE2671614900C925CA</key>
|
|
||||||
<dict>
|
|
||||||
<key>primary</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<key>37D4B0DD2671614900C925CA</key>
|
|
||||||
<dict>
|
|
||||||
<key>primary</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<key>37D4B157267164AE00C925CA</key>
|
|
||||||
<dict>
|
|
||||||
<key>primary</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<key>37D4B170267164B000C925CA</key>
|
|
||||||
<dict>
|
|
||||||
<key>primary</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
<key>37FD43E62704A2240073EE42</key>
|
|
||||||
<dict>
|
|
||||||
<key>primary</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
@ -35,9 +35,6 @@ struct ContentView: View {
|
|||||||
}
|
}
|
||||||
.onAppear(perform: configure)
|
.onAppear(perform: configure)
|
||||||
|
|
||||||
.handlesExternalEvents(preferring: Set(["*"]), allowing: Set(["*"]))
|
|
||||||
.onOpenURL(perform: handleOpenedURL)
|
|
||||||
|
|
||||||
.environmentObject(accounts)
|
.environmentObject(accounts)
|
||||||
.environmentObject(instances)
|
.environmentObject(instances)
|
||||||
.environmentObject(navigation)
|
.environmentObject(navigation)
|
||||||
@ -72,6 +69,8 @@ struct ContentView: View {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if !os(tvOS)
|
#if !os(tvOS)
|
||||||
|
.handlesExternalEvents(preferring: Set(["*"]), allowing: Set(["*"]))
|
||||||
|
.onOpenURL(perform: handleOpenedURL)
|
||||||
.sheet(isPresented: $navigation.presentingAddToPlaylist) {
|
.sheet(isPresented: $navigation.presentingAddToPlaylist) {
|
||||||
AddToPlaylistView(video: navigation.videoToAddToPlaylist)
|
AddToPlaylistView(video: navigation.videoToAddToPlaylist)
|
||||||
.environmentObject(playlists)
|
.environmentObject(playlists)
|
||||||
@ -118,24 +117,26 @@ struct ContentView: View {
|
|||||||
navigation.presentingWelcomeScreen = true
|
navigation.presentingWelcomeScreen = true
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleOpenedURL(_ url: URL) {
|
#if !os(tvOS)
|
||||||
guard !accounts.current.isNil else {
|
func handleOpenedURL(_ url: URL) {
|
||||||
return
|
guard !accounts.current.isNil else {
|
||||||
}
|
return
|
||||||
|
}
|
||||||
|
|
||||||
let parser = VideoURLParser(url: url)
|
let parser = VideoURLParser(url: url)
|
||||||
|
|
||||||
guard let id = parser.id else {
|
guard let id = parser.id else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
accounts.api.video(id).load().onSuccess { response in
|
accounts.api.video(id).load().onSuccess { response in
|
||||||
if let video: Video = response.typedContent() {
|
if let video: Video = response.typedContent() {
|
||||||
self.player.playNow(video, at: parser.time)
|
self.player.playNow(video, at: parser.time)
|
||||||
self.player.presentPlayer()
|
self.player.presentPlayer()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ContentView_Previews: PreviewProvider {
|
struct ContentView_Previews: PreviewProvider {
|
||||||
|
@ -11,8 +11,8 @@ struct PearvidiousApp: App {
|
|||||||
WindowGroup {
|
WindowGroup {
|
||||||
ContentView()
|
ContentView()
|
||||||
}
|
}
|
||||||
.handlesExternalEvents(matching: Set(["*"]))
|
|
||||||
#if !os(tvOS)
|
#if !os(tvOS)
|
||||||
|
.handlesExternalEvents(matching: Set(["*"]))
|
||||||
.commands {
|
.commands {
|
||||||
SidebarCommands()
|
SidebarCommands()
|
||||||
}
|
}
|
||||||
|
@ -95,16 +95,19 @@ struct PlaybackBar: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private var restoreLastSkippedSegmentButton: some View {
|
private var restoreLastSkippedSegmentButton: some View {
|
||||||
Button {
|
HStack(spacing: 4) {
|
||||||
player.restoreLastSkippedSegment()
|
Button {
|
||||||
} label: {
|
player.restoreLastSkippedSegment()
|
||||||
HStack(spacing: 4) {
|
} label: {
|
||||||
Image(systemName: "arrow.uturn.left.circle")
|
HStack(spacing: 4) {
|
||||||
Text(player.lastSkipped!.category)
|
Image(systemName: "arrow.uturn.left.circle")
|
||||||
Text("•")
|
Text(player.lastSkipped!.title())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.buttonStyle(.plain)
|
||||||
|
|
||||||
|
Text("•")
|
||||||
}
|
}
|
||||||
.buttonStyle(.plain)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private var streamControl: some View {
|
private var streamControl: some View {
|
||||||
|
@ -5,9 +5,6 @@ struct InstancesSettings: View {
|
|||||||
@Default(.instances) private var instances
|
@Default(.instances) private var instances
|
||||||
|
|
||||||
@EnvironmentObject<AccountsModel> private var accounts
|
@EnvironmentObject<AccountsModel> private var accounts
|
||||||
@EnvironmentObject<InstancesModel> private var instancesModel
|
|
||||||
@EnvironmentObject<SubscriptionsModel> private var subscriptions
|
|
||||||
@EnvironmentObject<PlaylistsModel> private var playlists
|
|
||||||
|
|
||||||
@State private var selectedInstanceID: Instance.ID?
|
@State private var selectedInstanceID: Instance.ID?
|
||||||
@State private var selectedAccount: Account?
|
@State private var selectedAccount: Account?
|
||||||
@ -69,6 +66,5 @@ struct InstancesSettingsView_Previews: PreviewProvider {
|
|||||||
InstancesSettings()
|
InstancesSettings()
|
||||||
}
|
}
|
||||||
.frame(width: 400, height: 270)
|
.frame(width: 400, height: 270)
|
||||||
.environmentObject(InstancesModel())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,6 @@ import Defaults
|
|||||||
import SwiftUI
|
import SwiftUI
|
||||||
|
|
||||||
struct HorizontalCells: View {
|
struct HorizontalCells: View {
|
||||||
#if os(iOS)
|
|
||||||
@Environment(\.verticalSizeClass) private var verticalSizeClass
|
|
||||||
#endif
|
|
||||||
|
|
||||||
var items = [ContentItem]()
|
var items = [ContentItem]()
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
|
@ -7,10 +7,6 @@ struct SignInRequiredView<Content: View>: View {
|
|||||||
|
|
||||||
@EnvironmentObject<AccountsModel> private var accounts
|
@EnvironmentObject<AccountsModel> private var accounts
|
||||||
|
|
||||||
#if !os(macOS)
|
|
||||||
@EnvironmentObject<NavigationModel> private var navigation
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@Default(.instances) private var instances
|
@Default(.instances) private var instances
|
||||||
|
|
||||||
init(title: String, @ViewBuilder content: @escaping () -> Content) {
|
init(title: String, @ViewBuilder content: @escaping () -> Content) {
|
||||||
|
@ -5,7 +5,6 @@ struct WelcomeScreen: View {
|
|||||||
@Environment(\.dismiss) private var dismiss
|
@Environment(\.dismiss) private var dismiss
|
||||||
|
|
||||||
@EnvironmentObject<AccountsModel> private var accounts
|
@EnvironmentObject<AccountsModel> private var accounts
|
||||||
@EnvironmentObject<NavigationModel> private var navigation
|
|
||||||
|
|
||||||
@Default(.accounts) private var allAccounts
|
@Default(.accounts) private var allAccounts
|
||||||
|
|
||||||
|