Merge pull request #22 from anthonylavado/ng

Rebuild App Structure
This commit is contained in:
Anthony Lavado 2020-03-26 23:17:27 -04:00 committed by GitHub
commit 8bf638c156
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
67 changed files with 710 additions and 818 deletions

8
.gitignore vendored
View File

@ -1,6 +1,6 @@
# Created by https://www.gitignore.io/api/xcode,swift,macos
# Edit at https://www.gitignore.io/?templates=xcode,swift,macos
# Created by https://www.gitignore.io/api/xcode,macos,swift
# Edit at https://www.gitignore.io/?templates=xcode,macos,swift
### macOS ###
# General
@ -71,6 +71,8 @@ playground.xcworkspace
# Package.pins
# Package.resolved
.build/
# Add this line if you want to avoid checking in Xcode SPM integration.
# .swiftpm/xcode
# CocoaPods
# We recommend against adding the Pods directory to your .gitignore. However
@ -127,4 +129,4 @@ iOSInjectionProject/
### Xcode Patch ###
**/xcshareddata/WorkspaceSettings.xcsettings
# End of https://www.gitignore.io/api/xcode,swift,macos
# End of https://www.gitignore.io/api/xcode,macos,swift

View File

@ -0,0 +1,7 @@
Original syncthing-macos authors:
* Jerry Jacobs ([@xor-gate](https://github.com/xor-gate))
* Victor Babenko ([@virusman](https://github.com/virusman))
* Jakob Borg ([@calmh](https://github.com/calmh))
For jellyfin-server-macos:
* Anthony Lavado ([@anthonylavad](https://github.com/anthonylavado))

View File

@ -0,0 +1,475 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
094208D4241CBFB1008D67E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 094208D3241CBFB1008D67E7 /* Assets.xcassets */; };
094208D7241CBFB1008D67E7 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 094208D6241CBFB1008D67E7 /* Preview Assets.xcassets */; };
094208E3241CBFC5008D67E7 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 094208E2241CBFC5008D67E7 /* README.md */; };
094208E7241CBFD0008D67E7 /* AUTHORS.md in Resources */ = {isa = PBXBuildFile; fileRef = 094208E4241CBFD0008D67E7 /* AUTHORS.md */; };
094208E8241CBFD0008D67E7 /* deployment in Resources */ = {isa = PBXBuildFile; fileRef = 094208E5241CBFD0008D67E7 /* deployment */; };
094208E9241CBFD0008D67E7 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 094208E6241CBFD0008D67E7 /* LICENSE */; };
094208EB241CC0CA008D67E7 /* Controllers in Resources */ = {isa = PBXBuildFile; fileRef = 094208EA241CC0CA008D67E7 /* Controllers */; };
094208EE241CC109008D67E7 /* JFApplication.xib in Resources */ = {isa = PBXBuildFile; fileRef = 094208EC241CC109008D67E7 /* JFApplication.xib */; };
094208FB241CC13E008D67E7 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 094208F1241CC13E008D67E7 /* Info.plist */; };
094208FC241CC13E008D67E7 /* JFPreferencesGeneralViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 094208F4241CC13E008D67E7 /* JFPreferencesGeneralViewController.xib */; };
094208FD241CC13E008D67E7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 094208F5241CC13E008D67E7 /* main.m */; };
094208FE241CC13E008D67E7 /* JFLoginItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 094208F6241CC13E008D67E7 /* JFLoginItem.m */; };
094208FF241CC13E008D67E7 /* JFApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 094208F8241CC13E008D67E7 /* JFApplication.m */; };
09420900241CC13E008D67E7 /* JFPreferencesGeneralViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 094208F9241CC13E008D67E7 /* JFPreferencesGeneralViewController.m */; };
09420901241CC13E008D67E7 /* DaemonProcess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 094208FA241CC13E008D67E7 /* DaemonProcess.swift */; };
09420903241CC162008D67E7 /* Scripts in Resources */ = {isa = PBXBuildFile; fileRef = 09420902241CC162008D67E7 /* Scripts */; };
09420912241CC5BF008D67E7 /* JFAboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 09420911241CC5BF008D67E7 /* JFAboutWindowController.m */; };
09420914241CC61F008D67E7 /* JFPreferencesAdvancedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 09420913241CC61F008D67E7 /* JFPreferencesAdvancedViewController.m */; };
09420916241CC646008D67E7 /* JFStatusBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 09420915241CC646008D67E7 /* JFStatusBarController.m */; };
09420918241CC68E008D67E7 /* JFPreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 09420917241CC68E008D67E7 /* JFPreferencesWindowController.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
094208CC241CBFAF008D67E7 /* Jellyfin Server.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Jellyfin Server.app"; sourceTree = BUILT_PRODUCTS_DIR; };
094208D3241CBFB1008D67E7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
094208D6241CBFB1008D67E7 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
094208DB241CBFB1008D67E7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
094208DC241CBFB1008D67E7 /* Jellyfin_Server.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Jellyfin_Server.entitlements; sourceTree = "<group>"; };
094208E2241CBFC5008D67E7 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
094208E4241CBFD0008D67E7 /* AUTHORS.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = AUTHORS.md; sourceTree = "<group>"; };
094208E5241CBFD0008D67E7 /* deployment */ = {isa = PBXFileReference; lastKnownFileType = folder; path = deployment; sourceTree = "<group>"; };
094208E6241CBFD0008D67E7 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
094208EA241CC0CA008D67E7 /* Controllers */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Controllers; sourceTree = "<group>"; };
094208ED241CC109008D67E7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/JFApplication.xib; sourceTree = "<group>"; };
094208EF241CC13E008D67E7 /* Jellyfin Server-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Jellyfin Server-Bridging-Header.h"; sourceTree = "<group>"; };
094208F0241CC13E008D67E7 /* JFPreferencesGeneralViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JFPreferencesGeneralViewController.h; sourceTree = "<group>"; };
094208F1241CC13E008D67E7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../../../jellyfin-server-macos copy/jellyfin-server/Info.plist"; sourceTree = "<group>"; };
094208F2241CC13E008D67E7 /* JFApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JFApplication.h; sourceTree = "<group>"; };
094208F3241CC13E008D67E7 /* JFLoginItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JFLoginItem.h; sourceTree = "<group>"; };
094208F4241CC13E008D67E7 /* JFPreferencesGeneralViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = JFPreferencesGeneralViewController.xib; sourceTree = "<group>"; };
094208F5241CC13E008D67E7 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
094208F6241CC13E008D67E7 /* JFLoginItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JFLoginItem.m; sourceTree = "<group>"; };
094208F8241CC13E008D67E7 /* JFApplication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JFApplication.m; sourceTree = "<group>"; };
094208F9241CC13E008D67E7 /* JFPreferencesGeneralViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JFPreferencesGeneralViewController.m; sourceTree = "<group>"; };
094208FA241CC13E008D67E7 /* DaemonProcess.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DaemonProcess.swift; sourceTree = "<group>"; };
09420902241CC162008D67E7 /* Scripts */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Scripts; sourceTree = "<group>"; };
09420905241CC168008D67E7 /* JFPreferencesWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = JFPreferencesWindowController.xib; sourceTree = "<group>"; };
09420907241CC168008D67E7 /* JFPreferencesAdvancedViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JFPreferencesAdvancedViewController.m; sourceTree = "<group>"; };
09420908241CC168008D67E7 /* JFPreferencesAdvancedViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JFPreferencesAdvancedViewController.h; sourceTree = "<group>"; };
09420909241CC168008D67E7 /* JFPreferencesAdvancedViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = JFPreferencesAdvancedViewController.xib; sourceTree = "<group>"; };
0942090A241CC168008D67E7 /* JFAboutWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = JFAboutWindowController.xib; sourceTree = "<group>"; };
09420911241CC5BF008D67E7 /* JFAboutWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = JFAboutWindowController.m; path = "Jellyfin Server/Controllers/JFAboutWindowController.m"; sourceTree = "<group>"; };
09420913241CC61F008D67E7 /* JFPreferencesAdvancedViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = JFPreferencesAdvancedViewController.m; path = "Jellyfin Server/UI/STPreferencesWindow/JFPreferencesAdvancedViewController.m"; sourceTree = "<group>"; };
09420915241CC646008D67E7 /* JFStatusBarController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = JFStatusBarController.m; path = "Jellyfin Server/Controllers/JFStatusBarController.m"; sourceTree = "<group>"; };
09420917241CC68E008D67E7 /* JFPreferencesWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = JFPreferencesWindowController.m; path = "Jellyfin Server/Controllers/JFPreferencesWindowController.m"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
094208C9241CBFAF008D67E7 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
094208C3241CBFAF008D67E7 = {
isa = PBXGroup;
children = (
09420917241CC68E008D67E7 /* JFPreferencesWindowController.m */,
09420915241CC646008D67E7 /* JFStatusBarController.m */,
09420913241CC61F008D67E7 /* JFPreferencesAdvancedViewController.m */,
09420911241CC5BF008D67E7 /* JFAboutWindowController.m */,
094208CE241CBFAF008D67E7 /* Jellyfin Server */,
094208CD241CBFAF008D67E7 /* Products */,
094208E2241CBFC5008D67E7 /* README.md */,
094208E4241CBFD0008D67E7 /* AUTHORS.md */,
094208E5241CBFD0008D67E7 /* deployment */,
094208E6241CBFD0008D67E7 /* LICENSE */,
);
sourceTree = "<group>";
};
094208CD241CBFAF008D67E7 /* Products */ = {
isa = PBXGroup;
children = (
094208CC241CBFAF008D67E7 /* Jellyfin Server.app */,
);
name = Products;
sourceTree = "<group>";
};
094208CE241CBFAF008D67E7 /* Jellyfin Server */ = {
isa = PBXGroup;
children = (
094208EA241CC0CA008D67E7 /* Controllers */,
094208D3241CBFB1008D67E7 /* Assets.xcassets */,
094208EC241CC109008D67E7 /* JFApplication.xib */,
094208FA241CC13E008D67E7 /* DaemonProcess.swift */,
094208DB241CBFB1008D67E7 /* Info.plist */,
094208F1241CC13E008D67E7 /* Info.plist */,
094208F2241CC13E008D67E7 /* JFApplication.h */,
094208F8241CC13E008D67E7 /* JFApplication.m */,
094208F3241CC13E008D67E7 /* JFLoginItem.h */,
094208F6241CC13E008D67E7 /* JFLoginItem.m */,
094208F0241CC13E008D67E7 /* JFPreferencesGeneralViewController.h */,
094208F9241CC13E008D67E7 /* JFPreferencesGeneralViewController.m */,
094208F4241CC13E008D67E7 /* JFPreferencesGeneralViewController.xib */,
094208F5241CC13E008D67E7 /* main.m */,
094208DC241CBFB1008D67E7 /* Jellyfin_Server.entitlements */,
094208D5241CBFB1008D67E7 /* Preview Content */,
094208EF241CC13E008D67E7 /* Jellyfin Server-Bridging-Header.h */,
09420904241CC168008D67E7 /* UI */,
09420902241CC162008D67E7 /* Scripts */,
);
path = "Jellyfin Server";
sourceTree = "<group>";
};
094208D5241CBFB1008D67E7 /* Preview Content */ = {
isa = PBXGroup;
children = (
094208D6241CBFB1008D67E7 /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
09420904241CC168008D67E7 /* UI */ = {
isa = PBXGroup;
children = (
09420905241CC168008D67E7 /* JFPreferencesWindowController.xib */,
09420906241CC168008D67E7 /* STPreferencesWindow */,
0942090A241CC168008D67E7 /* JFAboutWindowController.xib */,
);
path = UI;
sourceTree = "<group>";
};
09420906241CC168008D67E7 /* STPreferencesWindow */ = {
isa = PBXGroup;
children = (
09420907241CC168008D67E7 /* JFPreferencesAdvancedViewController.m */,
09420908241CC168008D67E7 /* JFPreferencesAdvancedViewController.h */,
09420909241CC168008D67E7 /* JFPreferencesAdvancedViewController.xib */,
);
path = STPreferencesWindow;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
094208CB241CBFAF008D67E7 /* Jellyfin Server */ = {
isa = PBXNativeTarget;
buildConfigurationList = 094208DF241CBFB1008D67E7 /* Build configuration list for PBXNativeTarget "Jellyfin Server" */;
buildPhases = (
094208C8241CBFAF008D67E7 /* Sources */,
094208C9241CBFAF008D67E7 /* Frameworks */,
094208CA241CBFAF008D67E7 /* Resources */,
09F42A17241CD0940041A1A3 /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
name = "Jellyfin Server";
productName = "Jellyfin Server";
productReference = 094208CC241CBFAF008D67E7 /* Jellyfin Server.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
094208C4241CBFAF008D67E7 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1130;
LastUpgradeCheck = 1130;
ORGANIZATIONNAME = "Anthony Lavado";
TargetAttributes = {
094208CB241CBFAF008D67E7 = {
CreatedOnToolsVersion = 11.3.1;
LastSwiftMigration = 1130;
};
};
};
buildConfigurationList = 094208C7241CBFAF008D67E7 /* Build configuration list for PBXProject "Jellyfin Server" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 094208C3241CBFAF008D67E7;
productRefGroup = 094208CD241CBFAF008D67E7 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
094208CB241CBFAF008D67E7 /* Jellyfin Server */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
094208CA241CBFAF008D67E7 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
09420903241CC162008D67E7 /* Scripts in Resources */,
094208E7241CBFD0008D67E7 /* AUTHORS.md in Resources */,
094208EE241CC109008D67E7 /* JFApplication.xib in Resources */,
094208FB241CC13E008D67E7 /* Info.plist in Resources */,
094208EB241CC0CA008D67E7 /* Controllers in Resources */,
094208FC241CC13E008D67E7 /* JFPreferencesGeneralViewController.xib in Resources */,
094208D7241CBFB1008D67E7 /* Preview Assets.xcassets in Resources */,
094208E9241CBFD0008D67E7 /* LICENSE in Resources */,
094208E8241CBFD0008D67E7 /* deployment in Resources */,
094208E3241CBFC5008D67E7 /* README.md in Resources */,
094208D4241CBFB1008D67E7 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
09F42A17241CD0940041A1A3 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/Users/anthonylavado/repos/jellyfin-server-macos/Jellyfin\\ Server/Jellyfin\\ Server/Scripts/jellyfin-resource.sh \n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
094208C8241CBFAF008D67E7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
094208FE241CC13E008D67E7 /* JFLoginItem.m in Sources */,
094208FD241CC13E008D67E7 /* main.m in Sources */,
09420912241CC5BF008D67E7 /* JFAboutWindowController.m in Sources */,
09420914241CC61F008D67E7 /* JFPreferencesAdvancedViewController.m in Sources */,
09420916241CC646008D67E7 /* JFStatusBarController.m in Sources */,
09420901241CC13E008D67E7 /* DaemonProcess.swift in Sources */,
09420918241CC68E008D67E7 /* JFPreferencesWindowController.m in Sources */,
09420900241CC13E008D67E7 /* JFPreferencesGeneralViewController.m in Sources */,
094208FF241CC13E008D67E7 /* JFApplication.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
094208EC241CC109008D67E7 /* JFApplication.xib */ = {
isa = PBXVariantGroup;
children = (
094208ED241CC109008D67E7 /* Base */,
);
name = JFApplication.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
094208DD241CBFB1008D67E7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
094208DE241CBFB1008D67E7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.13;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
};
name = Release;
};
094208E0241CBFB1008D67E7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Jellyfin Server/Jellyfin_Server.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = 6YC6EAV7ES;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = "Jellyfin Server/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.13;
MARKETING_VERSION = 10.5.2;
PRODUCT_BUNDLE_IDENTIFIER = "org.jellyfin.Jellyfin-Server";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Jellyfin Server/Jellyfin Server-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
094208E1241CBFB1008D67E7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = "Jellyfin Server/Jellyfin_Server.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = 6YC6EAV7ES;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = "Jellyfin Server/Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.13;
MARKETING_VERSION = 10.5.2;
PRODUCT_BUNDLE_IDENTIFIER = "org.jellyfin.Jellyfin-Server";
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Jellyfin Server/Jellyfin Server-Bridging-Header.h";
SWIFT_VERSION = 5.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
094208C7241CBFAF008D67E7 /* Build configuration list for PBXProject "Jellyfin Server" */ = {
isa = XCConfigurationList;
buildConfigurations = (
094208DD241CBFB1008D67E7 /* Debug */,
094208DE241CBFB1008D67E7 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
094208DF241CBFB1008D67E7 /* Build configuration list for PBXNativeTarget "Jellyfin Server" */ = {
isa = XCConfigurationList;
buildConfigurations = (
094208E0241CBFB1008D67E7 /* Debug */,
094208E1241CBFB1008D67E7 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 094208C4241CBFAF008D67E7 /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Jellyfin Server.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1120"
LastUpgradeVersion = "1130"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -14,10 +14,10 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C4A4155F1D0D579D00DC6018"
BuildableName = "jellyfin-server-macos.app"
BlueprintName = "jellyfin-server-macos"
ReferencedContainer = "container:jellyfin-server-macos.xcodeproj">
BlueprintIdentifier = "094208CB241CBFAF008D67E7"
BuildableName = "Jellyfin Server.app"
BlueprintName = "Jellyfin Server"
ReferencedContainer = "container:Jellyfin Server.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -44,10 +44,10 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C4A4155F1D0D579D00DC6018"
BuildableName = "jellyfin-server-macos.app"
BlueprintName = "jellyfin-server-macos"
ReferencedContainer = "container:jellyfin-server-macos.xcodeproj">
BlueprintIdentifier = "094208CB241CBFAF008D67E7"
BuildableName = "Jellyfin Server.app"
BlueprintName = "Jellyfin Server"
ReferencedContainer = "container:Jellyfin Server.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
@ -61,10 +61,10 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C4A4155F1D0D579D00DC6018"
BuildableName = "jellyfin-server-macos.app"
BlueprintName = "jellyfin-server-macos"
ReferencedContainer = "container:jellyfin-server-macos.xcodeproj">
BlueprintIdentifier = "094208CB241CBFAF008D67E7"
BuildableName = "Jellyfin Server.app"
BlueprintName = "Jellyfin Server"
ReferencedContainer = "container:Jellyfin Server.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>

View File

@ -2,15 +2,17 @@
"images" : [
{
"idiom" : "universal",
"filename" : "icon-solid-monochrome.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon-solid-monochrome.png",
"filename" : "icon-solid-monochrome-2.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon-solid-monochrome-1.png",
"scale" : "3x"
}
],

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -3,49 +3,36 @@
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>Jellyfin Server</string>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleGetInfoString</key>
<string>Jellyfin Project</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Jellyfin Server</string>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<string>1</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.entertainment</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>LSUIElement</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 Jellyfin. All rights reserved.</string>
<string>Copyright © 2020 Anthony Lavado. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>JFApplication</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>STBundleName</key>
<string>jellyfin-server-macos</string>
<key>STProjectHomepageURL</key>
<string>https://github.com/jellyfin/jellyfin-server-macos</string>
<key>SUFeedURL</key>
<string>https://repo.jellyfin.org/releases/server/macos/stable/</string>
<key>SUScheduledCheckInterval</key>
<integer>86400</integer>
<key>NSSupportsAutomaticTermination</key>
<true/>
<key>NSSupportsSuddenTermination</key>
<true/>
</dict>
</plist>

View File

@ -10,7 +10,7 @@
#import "Controllers/JFAboutWindowController.h"
#import "Controllers/JFPreferencesWindowController.h"
#import "jellyfin_server_macos-Swift.h"
#import "Jellyfin_Server-swift.h"
@interface STAppDelegate : NSObject <NSApplicationDelegate, DaemonProcessDelegate>

View File

@ -1,6 +1,6 @@
#import "JFApplication.h"
#import "JFLoginItem.h"
#import "jellyfin_server_macos-Swift.h"
#import "Jellyfin_Server-swift.h"
@interface STAppDelegate ()

View File

@ -0,0 +1,14 @@
<?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.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,61 @@
#!/bin/bash
set -euo pipefail
# Download and unpack jellyfin into ${PRODUCT_NAME}.app/Contents/Resources
JELLYFIN_TARBALL_URL=$(curl -s https://api.github.com/repos/jellyfin/jellyfin/releases/latest \
| grep "browser_download_url.*macos.tar.gz" \
| cut -d : -f 2,3 \
| tr -d \")
CURL_ARGS="--connect-timeout 5 --max-time 10 --retry 5 --retry-delay 3 --retry-max-time 60"
DL_DIR="${BUILT_PRODUCTS_DIR}/dl"
JELLYFIN_TARBALL="${DL_DIR}/jellyfin.macos.tar.gz"
APP_RESOURCES_DIR="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources"
TAR_DIR="${APP_RESOURCES_DIR}/server"
# Download jellyfin tarball
if [ -f "${JELLYFIN_TARBALL}" ]; then
echo "-- Jellyfin already downloaded"
echo " > ${JELLYFIN_TARBALL}"
else
echo "-- Downloading Jellyfin"
echo " From > ${JELLYFIN_TARBALL_URL}"
echo " To > ${JELLYFIN_TARBALL}"
mkdir -p "${DL_DIR}"
curl ${CURL_ARGS} -s -L -o "${JELLYFIN_TARBALL}" ${JELLYFIN_TARBALL_URL}
fi
# Download and unpack FFmpeg/FFprobe in to ${PRODUCT_NAME}.app/Contents/Resources as well
FFMPEG_VERSION="4.2.1"
FFMPEG_FILE="ffmpeg-${FFMPEG_VERSION}-macos64-static.zip"
FFMPEG_ZIP_URL="https://ffmpeg.zeranoe.com/builds/macos64/static/${FFMPEG_FILE}"
FFMPEG_ZIP="${DL_DIR}/${FFMPEG_FILE}"
if [ -f "${FFMPEG_ZIP}" ]; then
echo "-- FFmpeg already downloaded"
echo " > ${FFMPEG_ZIP}"
else
echo "-- Downloading FFmpeg"
echo " From > ${FFMPEG_ZIP_URL}"
echo " To > ${FFMPEG_ZIP}"
curl ${CURL_ARGS} -s -L -o "${FFMPEG_ZIP}" "${FFMPEG_ZIP_URL}"
fi
# Unpack to .app Resources folder
if [ -d "${TAR_DIR}/jellyfin" ]; then
echo "-- Jellyfin already unpacked"
echo " > ${TAR_DIR}"
else
echo "-- Unpacking jellyfin"
echo " > ${TAR_DIR}"
mkdir -p "${TAR_DIR}"
tar -xf "${JELLYFIN_TARBALL}" -C "${TAR_DIR}" --strip-components=1
echo "-- Unpacking FFmpeg"
unzip -o -j "${FFMPEG_ZIP}" "ffmpeg-${FFMPEG_VERSION}-macos64-static/bin/ffmpeg" "ffmpeg-${FFMPEG_VERSION}-macos64-static/bin/ffprobe" "ffmpeg-${FFMPEG_VERSION}-macos64-static/LICENSE.txt" "ffmpeg-${FFMPEG_VERSION}-macos64-static/README.txt" -d "${TAR_DIR}"
fi

22
Jellyfin Server/LICENSE Normal file
View File

@ -0,0 +1,22 @@
The MIT License (MIT)
Original work Copyright (c) 2016 Jerry Jacobs
Modified work Copyright (c) 2019 Anthony Lavado
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

43
Jellyfin Server/README.md Normal file
View File

@ -0,0 +1,43 @@
<h1 align="center">Jellyfin for macOS</h1>
<h3 align="center">Part of the <a href="https://jellyfin.media">Jellyfin Project</a></h3>
<p align="center">
Jellyfin for macOS is a launcher/wrapper built in Swift and Objective-C.
</p>
## Build Process
### Getting Started
1. Clone or download this repository.
```sh
git clone https://github.com/jellyfin/jellyfin-server-macos.git
```
2. Open `jellyfin-server-macos.xcodeproj` with Xcode, and build.
### FFmpeg Download
It's recommended to use a static macOS build of FFmpeg, such as [Zeranoe's Builds](https://ffmpeg.zeranoe.com/builds/macos64/static/). There is a build phase script that will download this for you.
At the time of writing, please use [ffmpeg-4.2.1-macos64-static.zip](https://ffmpeg.zeranoe.com/builds/macos64/static/ffmpeg-4.2.1-macos64-static.zip).
## Troubleshooting
### The project didn't build!
Please review the error inside Xcode. If a build failed, it is likely because the resources didn't download.
### The project built, but Jellyfin didn't launch. Xcode shows an error.
Does the console inside Xcode show `Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"`? If so, Jellyfin may not have copied out correctly. Please let me know.
Does the console show a `Failed to bind to address` or `database locked` message? You may already have a copy of Jellyfin running on your computer. This can happen if you did not shutdown a separate Jellyfin install, or if you clicked on "Stop" inside Xcode. Use Activity Monitor to find and quit any open Jellyfin process.
### The project built, and it runs. Jellyfin keeps opening the browser every time I start it.
This wrapper lets Jellyfin launch the Web UI automatically. If you want to change this, click the icon in the Menu Bar, and choose preferences. You can always use the menu icon to launch the Web UI.
---
This project is based upon [Syncthing for macOS](https://github.com/syncthing/syncthing-macos). Both projects are available under the [MIT License](LICENSE).

View File

@ -0,0 +1,39 @@
# Preparing for Distribution
**Developer ID Notarization**
In order to distribute a notarized app that complies with GateKeeper, you must follow these steps. Using Developer ID requires a paid Apple Developer Program membership.
### Set Capabilities
To notarize an app, it must be using the Hardened Runtime features of Xcode.
These should already be set in the project, but for reference, you must enable these capabilities:
* [x] **Hardened Runtime**
* [x] Allow Execution of JIT-compiled Code
* [x] Allow Unsigned Executable Memory
* [x] Disable Library Validation
### Codesign Resources
To prepare for distribution, first create an archive for distribution. Once you have the `.app`, you must sign it.
Here is an example set of commands:
```bash
codesign --force --options runtime --sign "Developer ID Application: COMPANYNAME" ./Jellyfin.app
```
If you are an individual developer, you can place your name in the same spot as `COMPANYNAME`:
```bash
codesign --force --options runtime --sign "Developer ID Application: Anthony Lavado" ./Jellyfin.app
```
### Signing Order
After you sign the app, it is important to get it notarized by Apple so that it runs without issues on an end user's machine. If you decide to create a DMG, you must wait until you first get the app notarized, then package it in the DMG. Once you have your final DMG, you must submit it to Apple for notarization. Without this step, users will get warning messages when trying to mount the DMG.
### DMG Considerations
If you opt to create a DMG for the app, you can use the wonderful https://github.com/sindresorhus/create-dmg.git.
### Upload to Apple, and Staple Ticket
For actual steps on notarizing, I recommend two articles.
* Scripting OS X - Notarize a Command Line Tool - [Live Link](https://scriptingosx.com/2019/09/notarize-a-command-line-tool/) / [archive.org](https://web.archive.org/web/20191019023702/https://scriptingosx.com/2019/09/notarize-a-command-line-tool/)
* Apple Developer - Notarizing Your App Before Distribution - [Live Link](https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution) / [archive.org](https://web.archive.org/web/20191014165810/https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution)

View File

@ -1,535 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
09004F8D238E70BF00F7E9C2 /* DaemonProcess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09004F8C238E70BF00F7E9C2 /* DaemonProcess.swift */; };
09004F8F238E739700F7E9C2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 09004F8E238E739700F7E9C2 /* Images.xcassets */; };
C4460A801D0DD2D500200C21 /* JFPreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = C4460A7D1D0DD2D500200C21 /* JFPreferencesWindowController.m */; };
C4460A811D0DD2D500200C21 /* JFStatusBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = C4460A7F1D0DD2D500200C21 /* JFStatusBarController.m */; };
C4460A831D0DD38F00200C21 /* JFPreferencesWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4460A821D0DD38F00200C21 /* JFPreferencesWindowController.xib */; };
C4946B011D5877F2008447A2 /* JFAboutWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4946B001D5877F2008447A2 /* JFAboutWindowController.xib */; };
C4946B031D587878008447A2 /* JFAboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = C4946B021D587878008447A2 /* JFAboutWindowController.m */; };
C4A415651D0D579D00DC6018 /* JFApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = C4A415641D0D579D00DC6018 /* JFApplication.m */; };
C4A415681D0D579D00DC6018 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C4A415671D0D579D00DC6018 /* main.m */; };
C4A4156A1D0D579D00DC6018 /* jellyfin-server in Resources */ = {isa = PBXBuildFile; fileRef = C4A415691D0D579D00DC6018 /* jellyfin-server */; };
C4A4156D1D0D579D00DC6018 /* JFApplication.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4A4156B1D0D579D00DC6018 /* JFApplication.xib */; };
C4D36D801DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C4D36D7E1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.m */; };
C4D36D811DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4D36D7F1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.xib */; };
C4D567A21D3A8DFE002AD881 /* JFLoginItem.m in Sources */ = {isa = PBXBuildFile; fileRef = C4D567A11D3A8DFE002AD881 /* JFLoginItem.m */; };
C4F0E82E1DA1B9CF00435310 /* JFPreferencesGeneralViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C4F0E82C1DA1B9CF00435310 /* JFPreferencesGeneralViewController.m */; };
C4F0E82F1DA1B9CF00435310 /* JFPreferencesGeneralViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4F0E82D1DA1B9CF00435310 /* JFPreferencesGeneralViewController.xib */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
C462613D1D57944400B16BC6 /* Copy Files */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Copy Files";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
09004F8C238E70BF00F7E9C2 /* DaemonProcess.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DaemonProcess.swift; sourceTree = "<group>"; };
09004F8E238E739700F7E9C2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "jellyfin-server-macos/Images.xcassets"; sourceTree = "<group>"; };
29AF1BA4210F11DE004212DE /* jellyfin-server-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "jellyfin-server-Bridging-Header.h"; sourceTree = "<group>"; };
C44262761D0DEF9F005340C2 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
C4460A7C1D0DD2D500200C21 /* JFPreferencesWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JFPreferencesWindowController.h; path = Controllers/JFPreferencesWindowController.h; sourceTree = "<group>"; };
C4460A7D1D0DD2D500200C21 /* JFPreferencesWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JFPreferencesWindowController.m; path = Controllers/JFPreferencesWindowController.m; sourceTree = "<group>"; };
C4460A7E1D0DD2D500200C21 /* JFStatusBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JFStatusBarController.h; path = Controllers/JFStatusBarController.h; sourceTree = "<group>"; };
C4460A7F1D0DD2D500200C21 /* JFStatusBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JFStatusBarController.m; path = Controllers/JFStatusBarController.m; sourceTree = "<group>"; };
C4460A821D0DD38F00200C21 /* JFPreferencesWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = JFPreferencesWindowController.xib; path = UI/JFPreferencesWindowController.xib; sourceTree = "<group>"; };
C4576BD51D11E3210031BCFD /* create-dmg.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "create-dmg.sh"; path = "syncthing/Scripts/create-dmg.sh"; sourceTree = "<group>"; };
C4576BE51D11E79F0031BCFD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
C4576BE71D11E7C00031BCFD /* libobjc.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libobjc.tbd; path = usr/lib/libobjc.tbd; sourceTree = SDKROOT; };
C4576BE91D11E7E10031BCFD /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
C4946B001D5877F2008447A2 /* JFAboutWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = JFAboutWindowController.xib; path = UI/JFAboutWindowController.xib; sourceTree = "<group>"; };
C4946B021D587878008447A2 /* JFAboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JFAboutWindowController.m; path = Controllers/JFAboutWindowController.m; sourceTree = "<group>"; };
C4946B041D587907008447A2 /* JFAboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JFAboutWindowController.h; path = Controllers/JFAboutWindowController.h; sourceTree = "<group>"; };
C4A415601D0D579D00DC6018 /* jellyfin-server-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "jellyfin-server-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; };
C4A415631D0D579D00DC6018 /* JFApplication.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JFApplication.h; sourceTree = "<group>"; };
C4A415641D0D579D00DC6018 /* JFApplication.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JFApplication.m; sourceTree = "<group>"; };
C4A415671D0D579D00DC6018 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "jellyfin-server/main.m"; sourceTree = "<group>"; };
C4A415691D0D579D00DC6018 /* jellyfin-server */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "jellyfin-server"; sourceTree = "<group>"; };
C4A4156C1D0D579D00DC6018 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/JFApplication.xib; sourceTree = "<group>"; };
C4A4156E1D0D579D00DC6018 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = "/Users/anthonylavado/repos/jellyfin-server-macos/jellyfin-server/Info.plist"; sourceTree = "<absolute>"; };
C4D36D7D1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JFPreferencesAdvancedViewController.h; path = UI/STPreferencesWindow/JFPreferencesAdvancedViewController.h; sourceTree = "<group>"; };
C4D36D7E1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JFPreferencesAdvancedViewController.m; path = UI/STPreferencesWindow/JFPreferencesAdvancedViewController.m; sourceTree = "<group>"; };
C4D36D7F1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = JFPreferencesAdvancedViewController.xib; path = UI/STPreferencesWindow/JFPreferencesAdvancedViewController.xib; sourceTree = "<group>"; };
C4D567A11D3A8DFE002AD881 /* JFLoginItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JFLoginItem.m; sourceTree = "<group>"; };
C4D567A31D3A8E34002AD881 /* JFLoginItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JFLoginItem.h; sourceTree = "<group>"; };
C4D6DD581D0D93D80024D20A /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
C4D896121D0DF90900D42F73 /* jellyfin-resource.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "jellyfin-resource.sh"; path = "jellyfin-server/Scripts/jellyfin-resource.sh"; sourceTree = "<group>"; };
C4F0E82B1DA1B9CF00435310 /* JFPreferencesGeneralViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JFPreferencesGeneralViewController.h; sourceTree = "<group>"; };
C4F0E82C1DA1B9CF00435310 /* JFPreferencesGeneralViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JFPreferencesGeneralViewController.m; sourceTree = "<group>"; };
C4F0E82D1DA1B9CF00435310 /* JFPreferencesGeneralViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = JFPreferencesGeneralViewController.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
C4A4155D1D0D579D00DC6018 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
C4460A881D0DE58B00200C21 /* Docs */ = {
isa = PBXGroup;
children = (
C44262761D0DEF9F005340C2 /* LICENSE */,
C4D6DD581D0D93D80024D20A /* README.md */,
);
name = Docs;
sourceTree = "<group>";
};
C46261361D578DA800B16BC6 /* Frameworks */ = {
isa = PBXGroup;
children = (
C4576BE91D11E7E10031BCFD /* CoreFoundation.framework */,
C4576BE51D11E79F0031BCFD /* Foundation.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
C465000A1DA114FE00C250BC /* JFPreferencesWindow */ = {
isa = PBXGroup;
children = (
C4460A7C1D0DD2D500200C21 /* JFPreferencesWindowController.h */,
C4460A7D1D0DD2D500200C21 /* JFPreferencesWindowController.m */,
C4F0E82B1DA1B9CF00435310 /* JFPreferencesGeneralViewController.h */,
C4F0E82C1DA1B9CF00435310 /* JFPreferencesGeneralViewController.m */,
C4F0E82D1DA1B9CF00435310 /* JFPreferencesGeneralViewController.xib */,
C4D36D7D1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.h */,
C4D36D7E1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.m */,
C4D36D7F1DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.xib */,
);
name = JFPreferencesWindow;
sourceTree = "<group>";
};
C46500101DA116D400C250BC /* JFPreferencesWindow */ = {
isa = PBXGroup;
children = (
C4460A821D0DD38F00200C21 /* JFPreferencesWindowController.xib */,
);
name = JFPreferencesWindow;
sourceTree = "<group>";
};
C465001D1DA18F4300C250BC /* Misc */ = {
isa = PBXGroup;
children = (
29AF1BA4210F11DE004212DE /* jellyfin-server-Bridging-Header.h */,
09004F8C238E70BF00F7E9C2 /* DaemonProcess.swift */,
C4A415631D0D579D00DC6018 /* JFApplication.h */,
C4A415641D0D579D00DC6018 /* JFApplication.m */,
C4D567A11D3A8DFE002AD881 /* JFLoginItem.m */,
C4D567A31D3A8E34002AD881 /* JFLoginItem.h */,
);
name = Misc;
path = "jellyfin-server";
sourceTree = "<group>";
};
C4A415571D0D579D00DC6018 = {
isa = PBXGroup;
children = (
09004F8E238E739700F7E9C2 /* Images.xcassets */,
C46261361D578DA800B16BC6 /* Frameworks */,
C4576BE71D11E7C00031BCFD /* libobjc.tbd */,
C4D896141D0DF90E00D42F73 /* Scripts */,
C4460A881D0DE58B00200C21 /* Docs */,
C4A415621D0D579D00DC6018 /* Sources */,
C4A415611D0D579D00DC6018 /* Products */,
);
sourceTree = "<group>";
};
C4A415611D0D579D00DC6018 /* Products */ = {
isa = PBXGroup;
children = (
C4A415601D0D579D00DC6018 /* jellyfin-server-macos.app */,
);
name = Products;
sourceTree = "<group>";
};
C4A415621D0D579D00DC6018 /* Sources */ = {
isa = PBXGroup;
children = (
C465001D1DA18F4300C250BC /* Misc */,
C4D6DD601D0DB18A0024D20A /* UI */,
C4D6DD5F1D0DAF530024D20A /* Controllers */,
C4A415691D0D579D00DC6018 /* jellyfin-server */,
C4A4156E1D0D579D00DC6018 /* Info.plist */,
C4A415661D0D579D00DC6018 /* Supporting Files */,
);
name = Sources;
sourceTree = "<group>";
};
C4A415661D0D579D00DC6018 /* Supporting Files */ = {
isa = PBXGroup;
children = (
C4A415671D0D579D00DC6018 /* main.m */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
C4D6DD5F1D0DAF530024D20A /* Controllers */ = {
isa = PBXGroup;
children = (
C465000A1DA114FE00C250BC /* JFPreferencesWindow */,
C4460A7E1D0DD2D500200C21 /* JFStatusBarController.h */,
C4460A7F1D0DD2D500200C21 /* JFStatusBarController.m */,
C4946B021D587878008447A2 /* JFAboutWindowController.m */,
C4946B041D587907008447A2 /* JFAboutWindowController.h */,
);
name = Controllers;
path = "jellyfin-server";
sourceTree = "<group>";
};
C4D6DD601D0DB18A0024D20A /* UI */ = {
isa = PBXGroup;
children = (
C46500101DA116D400C250BC /* JFPreferencesWindow */,
C4A4156B1D0D579D00DC6018 /* JFApplication.xib */,
C4946B001D5877F2008447A2 /* JFAboutWindowController.xib */,
);
name = UI;
path = "jellyfin-server";
sourceTree = "<group>";
};
C4D896141D0DF90E00D42F73 /* Scripts */ = {
isa = PBXGroup;
children = (
C4576BD51D11E3210031BCFD /* create-dmg.sh */,
C4D896121D0DF90900D42F73 /* jellyfin-resource.sh */,
);
name = Scripts;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
C4A4155F1D0D579D00DC6018 /* jellyfin-server-macos */ = {
isa = PBXNativeTarget;
buildConfigurationList = C4A415711D0D579D00DC6018 /* Build configuration list for PBXNativeTarget "jellyfin-server-macos" */;
buildPhases = (
C4A4155C1D0D579D00DC6018 /* Sources */,
C4A4155D1D0D579D00DC6018 /* Frameworks */,
C4A4155E1D0D579D00DC6018 /* Resources */,
C462613D1D57944400B16BC6 /* Copy Files */,
094CD62323ACD5C1006AABB5 /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
name = "jellyfin-server-macos";
productName = syncthing;
productReference = C4A415601D0D579D00DC6018 /* jellyfin-server-macos.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
C4A415581D0D579D00DC6018 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1110;
ORGANIZATIONNAME = "Jerry Jacobs";
TargetAttributes = {
C4A4155F1D0D579D00DC6018 = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1110;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = C4A4155B1D0D579D00DC6018 /* Build configuration list for PBXProject "jellyfin-server-macos" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = C4A415571D0D579D00DC6018;
productRefGroup = C4A415611D0D579D00DC6018 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
C4A4155F1D0D579D00DC6018 /* jellyfin-server-macos */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
C4A4155E1D0D579D00DC6018 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
09004F8F238E739700F7E9C2 /* Images.xcassets in Resources */,
C4D36D811DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.xib in Resources */,
C4A4156A1D0D579D00DC6018 /* jellyfin-server in Resources */,
C4A4156D1D0D579D00DC6018 /* JFApplication.xib in Resources */,
C4460A831D0DD38F00200C21 /* JFPreferencesWindowController.xib in Resources */,
C4946B011D5877F2008447A2 /* JFAboutWindowController.xib in Resources */,
C4F0E82F1DA1B9CF00435310 /* JFPreferencesGeneralViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
094CD62323ACD5C1006AABB5 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "${SOURCE_ROOT}/jellyfin-server/Scripts/jellyfin-resource.sh\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
C4A4155C1D0D579D00DC6018 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C4D567A21D3A8DFE002AD881 /* JFLoginItem.m in Sources */,
C4A415681D0D579D00DC6018 /* main.m in Sources */,
C4946B031D587878008447A2 /* JFAboutWindowController.m in Sources */,
C4D36D801DA3D53F0061FD08 /* JFPreferencesAdvancedViewController.m in Sources */,
C4460A811D0DD2D500200C21 /* JFStatusBarController.m in Sources */,
09004F8D238E70BF00F7E9C2 /* DaemonProcess.swift in Sources */,
C4460A801D0DD2D500200C21 /* JFPreferencesWindowController.m in Sources */,
C4F0E82E1DA1B9CF00435310 /* JFPreferencesGeneralViewController.m in Sources */,
C4A415651D0D579D00DC6018 /* JFApplication.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
C4A4156B1D0D579D00DC6018 /* JFApplication.xib */ = {
isa = PBXVariantGroup;
children = (
C4A4156C1D0D579D00DC6018 /* Base */,
);
name = JFApplication.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
C4A4156F1D0D579D00DC6018 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "Mac Developer";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = YES;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "$(SRCROOT)/jellyfin-server/Test";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "";
SDKROOT = macosx;
};
name = Debug;
};
C4A415701D0D579D00DC6018 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "Mac Developer";
COPY_PHASE_STRIP = NO;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = YES;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = "$(SRCROOT)/jellyfin-server/Test";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CFLAGS = "";
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
};
name = Release;
};
C4A415721D0D579D00DC6018 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "-";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6YC6EAV7ES;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)";
INFOPLIST_FILE = "jellyfin-server/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 10.4.3;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = org.jellyfin.server.macos;
PRODUCT_NAME = "jellyfin-server-macos";
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
SEPARATE_STRIP = NO;
SWIFT_OBJC_BRIDGING_HEADER = "jellyfin-server/jellyfin-server-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 4.0;
VALID_ARCHS = x86_64;
};
name = Debug;
};
C4A415731D0D579D00DC6018 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "-";
"CODE_SIGN_IDENTITY[sdk=*]" = "";
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6YC6EAV7ES;
FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)";
INFOPLIST_FILE = "jellyfin-server/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MARKETING_VERSION = 10.4.3;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = org.jellyfin.server.macos;
PRODUCT_NAME = "jellyfin-server-macos";
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
SEPARATE_STRIP = YES;
SWIFT_OBJC_BRIDGING_HEADER = "jellyfin-server/jellyfin-server-Bridging-Header.h";
SWIFT_VERSION = 4.0;
VALID_ARCHS = x86_64;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C4A4155B1D0D579D00DC6018 /* Build configuration list for PBXProject "jellyfin-server-macos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C4A4156F1D0D579D00DC6018 /* Debug */,
C4A415701D0D579D00DC6018 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C4A415711D0D579D00DC6018 /* Build configuration list for PBXNativeTarget "jellyfin-server-macos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C4A415721D0D579D00DC6018 /* Debug */,
C4A415731D0D579D00DC6018 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = C4A415581D0D579D00DC6018 /* Project object */;
}

View File

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1120"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0B9C6B051F144DF1009C68CA"
BuildableName = "jellyfin-server-macos-dmg"
BlueprintName = "jellyfin-server-macos-dmg"
ReferencedContainer = "container:jellyfin-server-macos.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 = "0B9C6B051F144DF1009C68CA"
BuildableName = "jellyfin-server-macos-dmg"
BlueprintName = "jellyfin-server-macos-dmg"
ReferencedContainer = "container:jellyfin-server-macos.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,68 +0,0 @@
{
"images" : [
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "icon_16x16.png",
"scale" : "1x"
},
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "icon_16x16@2x.png",
"scale" : "2x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "icon_32x32.png",
"scale" : "1x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "icon_32x32@2x.png",
"scale" : "2x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "icon_128x128.png",
"scale" : "1x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "icon_128x128@2x.png",
"scale" : "2x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "icon_256x256.png",
"scale" : "1x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "icon_256x256@2x.png",
"scale" : "2x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "icon_512x512.png",
"scale" : "1x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "appicon@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,105 +0,0 @@
/* Class = "NSMenuItem"; title = "Delete"; ObjectID = "09B-Fd-kIg"; */
"09B-Fd-kIg.title" = "Delete";
/* Class = "NSMenu"; title = "Folders"; ObjectID = "0Tt-4w-4MD"; */
"0Tt-4w-4MD.title" = "Folders";
/* Class = "NSMenuItem"; title = "Quit Syncthing"; ObjectID = "1wN-cb-7w4"; */
"1wN-cb-7w4.title" = "Quit Syncthing";
/* Class = "NSMenuItem"; title = "Restart"; ObjectID = "24n-vt-eof"; */
"24n-vt-eof.title" = "Restart";
/* Class = "NSMenuItem"; title = "Quit application"; ObjectID = "42h-qg-75M"; */
"42h-qg-75M.title" = "Quit application";
/* Class = "NSMenuItem"; title = "None"; ObjectID = "8nY-KP-Cjq"; */
"8nY-KP-Cjq.title" = "None";
/* Class = "NSMenu"; title = "Edit"; ObjectID = "BIk-A1-DsB"; */
"BIk-A1-DsB.title" = "Edit";
/* Class = "NSMenuItem"; title = "Folders"; ObjectID = "Gbh-kn-bEe"; */
"Gbh-kn-bEe.title" = "Folders";
/* Class = "NSMenuItem"; title = "API"; ObjectID = "Gzh-BA-qbg"; */
"Gzh-BA-qbg.title" = "API";
/* Class = "NSMenuItem"; title = "Paste"; ObjectID = "HRl-Yj-JKY"; */
"HRl-Yj-JKY.title" = "Paste";
/* Class = "NSMenuItem"; title = "Edit"; ObjectID = "HiV-0K-6gI"; */
"HiV-0K-6gI.title" = "Edit";
/* Class = "NSMenuItem"; title = "Menu"; ObjectID = "I8M-Pf-BKw"; */
"I8M-Pf-BKw.title" = "Menu";
/* Class = "NSMenuItem"; title = "Cut"; ObjectID = "Kac-nG-ccL"; */
"Kac-nG-ccL.title" = "Cut";
/* Class = "NSMenu"; title = "Main Menu"; ObjectID = "LRK-4Q-J2a"; */
"LRK-4Q-J2a.title" = "Main Menu";
/* Class = "NSMenuItem"; title = "Syncthing Service"; ObjectID = "MAH-El-s0y"; */
"MAH-El-s0y.title" = "Syncthing Service";
/* Class = "NSMenu"; title = "Syncthing"; ObjectID = "O1r-v6-dVJ"; */
"O1r-v6-dVJ.title" = "Syncthing";
/* Class = "NSMenuItem"; title = "Status"; ObjectID = "PGw-J9-KII"; */
"PGw-J9-KII.title" = "Status";
/* Class = "NSMenuItem"; title = "Syncthing"; ObjectID = "ViC-de-Xi1"; */
"ViC-de-Xi1.title" = "Syncthing";
/* Class = "NSMenuItem"; title = "Item"; ObjectID = "Y9X-vm-pic"; */
"Y9X-vm-pic.title" = "Item";
/* Class = "NSMenu"; title = "Syncthing Service"; ObjectID = "YYN-1k-umQ"; */
"YYN-1k-umQ.title" = "Syncthing Service";
/* Class = "NSMenuItem"; title = "Redo"; ObjectID = "aOH-1O-Idh"; */
"aOH-1O-Idh.title" = "Redo";
/* Class = "NSMenuItem"; title = "Undo"; ObjectID = "aRj-ou-O6a"; */
"aRj-ou-O6a.title" = "Undo";
/* Class = "NSMenuItem"; title = "Rescan All"; ObjectID = "boL-Lr-rxV"; */
"boL-Lr-rxV.title" = "Rescan All";
/* Class = "NSMenuItem"; title = "About"; ObjectID = "dst-j8-d2d"; */
"dst-j8-d2d.title" = "About";
/* Class = "NSMenuItem"; ibShadowedToolTip = "Open Syncthing Web GUI"; ObjectID = "euz-4I-RQa"; */
"euz-4I-RQa.ibShadowedToolTip" = "Open Syncthing Web GUI";
/* Class = "NSMenuItem"; title = "Open"; ObjectID = "euz-4I-RQa"; */
"euz-4I-RQa.title" = "Open";
/* Class = "NSMenuItem"; title = "Close window"; ObjectID = "htF-y1-dkl"; */
"htF-y1-dkl.title" = "Close window";
/* Class = "NSMenuItem"; title = "Pause All Devices"; ObjectID = "kBF-aK-W8P"; */
"kBF-aK-W8P.title" = "Pause All Devices";
/* Class = "NSMenuItem"; title = "Preferences..."; ObjectID = "lgT-yX-bGZ"; */
"lgT-yX-bGZ.title" = "Preferences...";
/* Class = "NSMenu"; title = "Status"; ObjectID = "qS5-d4-4WD"; */
"qS5-d4-4WD.title" = "Status";
/* Class = "NSMenu"; title = "Menu"; ObjectID = "rlz-0G-Jeh"; */
"rlz-0G-Jeh.title" = "Menu";
/* Class = "NSMenuItem"; title = "Start"; ObjectID = "s51-hi-aSO"; */
"s51-hi-aSO.title" = "Start";
/* Class = "NSMenuItem"; title = "Select All"; ObjectID = "uO2-Lw-6R3"; */
"uO2-Lw-6R3.title" = "Select All";
/* Class = "NSMenuItem"; title = "Stop"; ObjectID = "v6W-XD-Nuf"; */
"v6W-XD-Nuf.title" = "Stop";
/* Class = "NSMenuItem"; title = "Copy"; ObjectID = "ygR-tH-H8e"; */
"ygR-tH-H8e.title" = "Copy";