A Podfile => Podfile +10 -0
@@ 0,0 1,10 @@
+# Uncomment the next line to define a global platform for your project
+# platform :ios, '9.0'
+
+target 'Sonar' do
+ # Comment the next line if you don't want to use dynamic frameworks
+ use_frameworks!
+
+ # Pods for Sonar
+ pod 'Sparkle'
+end
A Podfile.lock => Podfile.lock +16 -0
@@ 0,0 1,16 @@
+PODS:
+ - Sparkle (2.2.2)
+
+DEPENDENCIES:
+ - Sparkle
+
+SPEC REPOS:
+ trunk:
+ - Sparkle
+
+SPEC CHECKSUMS:
+ Sparkle: cb8c851f6247a9acbe9e236539404c5be529f74d
+
+PODFILE CHECKSUM: 7f8e82fee76d8f200dda6724d146e4d589ffc0be
+
+COCOAPODS: 1.11.3
M Sonar.xcodeproj/project.pbxproj => Sonar.xcodeproj/project.pbxproj +70 -0
@@ 7,6 7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ A4E6E6495F879EB7D26628B3 /* Pods_Sonar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9DF2DF70004D9A1BD18C7FA /* Pods_Sonar.framework */; };
CF0778DB27529FFC00DC148D /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF0778DA27529FFC00DC148D /* AVFoundation.framework */; };
CF16C2B4273EB8BD00FE3454 /* MediaLoading.m in Sources */ = {isa = PBXBuildFile; fileRef = CF16C2B3273EB8BD00FE3454 /* MediaLoading.m */; };
CF19C2B828ACAEC100207AF0 /* NSObject+SPInvocationGrabbing.m in Sources */ = {isa = PBXBuildFile; fileRef = CF19C2B528ACAEC100207AF0 /* NSObject+SPInvocationGrabbing.m */; };
@@ 51,6 52,8 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
+ 2957C22ADEC6D56A66FE2308 /* Pods-Sonar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sonar.debug.xcconfig"; path = "Target Support Files/Pods-Sonar/Pods-Sonar.debug.xcconfig"; sourceTree = "<group>"; };
+ 4E33D778D18186781FAA4711 /* Pods-Sonar.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Sonar.release.xcconfig"; path = "Target Support Files/Pods-Sonar/Pods-Sonar.release.xcconfig"; sourceTree = "<group>"; };
CF0778DA27529FFC00DC148D /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
CF16C2B2273EB8BD00FE3454 /* MediaLoading.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaLoading.h; sourceTree = "<group>"; };
CF16C2B3273EB8BD00FE3454 /* MediaLoading.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MediaLoading.m; sourceTree = "<group>"; };
@@ 130,6 133,7 @@
CFF251A0273D3F5700BA724B /* BRSonicAPIResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BRSonicAPIResponse.h; sourceTree = "<group>"; };
CFF251A1273D3F5700BA724B /* BRSonicAPIResponse.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BRSonicAPIResponse.m; sourceTree = "<group>"; };
CFF251A3273D46BC00BA724B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ E9DF2DF70004D9A1BD18C7FA /* Pods_Sonar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Sonar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ 139,12 143,22 @@
files = (
CF0778DB27529FFC00DC148D /* AVFoundation.framework in Frameworks */,
CFE6F1A928D77AA4008BE32C /* GameplayKit.framework in Frameworks */,
+ A4E6E6495F879EB7D26628B3 /* Pods_Sonar.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 9B88C1F64A917C440F116A3A /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 2957C22ADEC6D56A66FE2308 /* Pods-Sonar.debug.xcconfig */,
+ 4E33D778D18186781FAA4711 /* Pods-Sonar.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "<group>";
+ };
CF19C2B028ACAEC100207AF0 /* SPMediaKeyTap */ = {
isa = PBXGroup;
children = (
@@ 191,6 205,7 @@
CFD908B32732B1F600FEFD53 /* Sonar */,
CFD908B22732B1F600FEFD53 /* Products */,
CFF2519D273D3C3400BA724B /* Frameworks */,
+ 9B88C1F64A917C440F116A3A /* Pods */,
);
sourceTree = "<group>";
};
@@ 298,6 313,7 @@
CFE6F1A828D77AA4008BE32C /* GameplayKit.framework */,
CF0778DA27529FFC00DC148D /* AVFoundation.framework */,
CFF2519E273D3C3400BA724B /* libcommonCrypto.tbd */,
+ E9DF2DF70004D9A1BD18C7FA /* Pods_Sonar.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ 309,9 325,11 @@
isa = PBXNativeTarget;
buildConfigurationList = CFD908C12732B1F800FEFD53 /* Build configuration list for PBXNativeTarget "Sonar" */;
buildPhases = (
+ 188614AD258A99847395F05E /* [CP] Check Pods Manifest.lock */,
CFD908AD2732B1F600FEFD53 /* Sources */,
CFD908AE2732B1F600FEFD53 /* Frameworks */,
CFD908AF2732B1F600FEFD53 /* Resources */,
+ 914DFA27329F23B8FE3F9C86 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ 368,6 386,48 @@
};
/* End PBXResourcesBuildPhase section */
+/* Begin PBXShellScriptBuildPhase section */
+ 188614AD258A99847395F05E /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Sonar-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 914DFA27329F23B8FE3F9C86 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Sonar/Pods-Sonar-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Sonar/Pods-Sonar-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Sonar/Pods-Sonar-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
/* Begin PBXSourcesBuildPhase section */
CFD908AD2732B1F600FEFD53 /* Sources */ = {
isa = PBXSourcesBuildPhase;
@@ 538,6 598,7 @@
};
CFD908C22732B1F800FEFD53 /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 2957C22ADEC6D56A66FE2308 /* Pods-Sonar.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ 545,8 606,12 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = CC63FD9H8S;
+ ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Sonar/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = Sonar;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INFOPLIST_KEY_NSMainNibFile = MainMenu;
INFOPLIST_KEY_NSPrincipalClass = NSApplication;
@@ 568,6 633,7 @@
};
CFD908C32732B1F800FEFD53 /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 4E33D778D18186781FAA4711 /* Pods-Sonar.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
@@ 575,8 641,12 @@
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = CC63FD9H8S;
+ ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Sonar/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = Sonar;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INFOPLIST_KEY_NSMainNibFile = MainMenu;
INFOPLIST_KEY_NSPrincipalClass = NSApplication;
A Sonar.xcodeproj/xcshareddata/xcschemes/Sonar.xcscheme => Sonar.xcodeproj/xcshareddata/xcschemes/Sonar.xcscheme +78 -0
@@ 0,0 1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "1400"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "CFD908B02732B1F600FEFD53"
+ BuildableName = "Sonar.app"
+ BlueprintName = "Sonar"
+ ReferencedContainer = "container:Sonar.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">
+ <BuildableProductRunnable
+ runnableDebuggingMode = "0">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "CFD908B02732B1F600FEFD53"
+ BuildableName = "Sonar.app"
+ BlueprintName = "Sonar"
+ ReferencedContainer = "container:Sonar.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </LaunchAction>
+ <ProfileAction
+ buildConfiguration = "Release"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable
+ runnableDebuggingMode = "0">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "CFD908B02732B1F600FEFD53"
+ BuildableName = "Sonar.app"
+ BlueprintName = "Sonar"
+ ReferencedContainer = "container:Sonar.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
A Sonar.xcworkspace/contents.xcworkspacedata => Sonar.xcworkspace/contents.xcworkspacedata +10 -0
@@ 0,0 1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "group:Sonar.xcodeproj">
+ </FileRef>
+ <FileRef
+ location = "group:Pods/Pods.xcodeproj">
+ </FileRef>
+</Workspace>
A Sonar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist => Sonar.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
@@ 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>
M Sonar/Base.lproj/MainMenu.xib => Sonar/Base.lproj/MainMenu.xib +7 -0
@@ 26,6 26,12 @@
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
+ <menuItem title="Check for Updates…" id="m5y-YH-bnp">
+ <modifierMask key="keyEquivalentModifierMask"/>
+ <connections>
+ <action selector="checkForUpdates:" target="940-aB-nSY" id="A9q-uh-wrT"/>
+ </connections>
+ </menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW">
<connections>
@@ 445,5 451,6 @@
</items>
<point key="canvasLocation" x="200" y="121"/>
</menu>
+ <customObject id="940-aB-nSY" customClass="SPUStandardUpdaterController"/>
</objects>
</document>
M Sonar/Info.plist => Sonar/Info.plist +8 -1
@@ 1,5 1,12 @@
<?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/>
+<dict>
+ <key>SUEnableInstallerLauncherService</key>
+ <true/>
+ <key>SUFeedURL</key>
+ <string>https://b123400.net/sonar/updates/appcast.xml</string>
+ <key>SUPublicEDKey</key>
+ <string>F3z1HO3sz2dx8KayQtPxbDLz+qyPERuz44ahRsyoy90=</string>
+</dict>
</plist>
M Sonar/Sonar.entitlements => Sonar/Sonar.entitlements +5 -0
@@ 8,5 8,10 @@
<true/>
<key>com.apple.security.network.client</key>
<true/>
+ <key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
+ <array>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)-spks</string>
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)-spki</string>
+ </array>
</dict>
</plist>