initial commit and add statusbar icon
This commit is contained in:
@@ -7,18 +7,26 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3F49E946216B86150047B0FE /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F49E945216B86150047B0FE /* Match.swift */; };
|
||||
3F49E948216B862B0047B0FE /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F49E947216B862B0047B0FE /* StatusBarController.swift */; };
|
||||
3FB6BB48216B8594000BF5AA /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FB6BB47216B8594000BF5AA /* AppDelegate.swift */; };
|
||||
3FB6BB4A216B8595000BF5AA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3FB6BB49216B8595000BF5AA /* Assets.xcassets */; };
|
||||
3FB6BB4D216B8595000BF5AA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3FB6BB4B216B8595000BF5AA /* MainMenu.xib */; };
|
||||
FB399B52A803D29045E1307F /* Pods_LiquipediaMenu.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37CBB27C5544ABC18BCC3124 /* Pods_LiquipediaMenu.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1DC0D8B9D836504166CF8796 /* Pods-LiquipediaMenu.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LiquipediaMenu.release.xcconfig"; path = "Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.release.xcconfig"; sourceTree = "<group>"; };
|
||||
37CBB27C5544ABC18BCC3124 /* Pods_LiquipediaMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LiquipediaMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3F49E945216B86150047B0FE /* Match.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Match.swift; sourceTree = "<group>"; };
|
||||
3F49E947216B862B0047B0FE /* StatusBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarController.swift; sourceTree = "<group>"; };
|
||||
3FB6BB44216B8594000BF5AA /* LiquipediaMenu.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LiquipediaMenu.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3FB6BB47216B8594000BF5AA /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
3FB6BB49216B8595000BF5AA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
3FB6BB4C216B8595000BF5AA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
3FB6BB4E216B8595000BF5AA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3FB6BB4F216B8595000BF5AA /* LiquipediaMenu.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LiquipediaMenu.entitlements; sourceTree = "<group>"; };
|
||||
F17640390E809B5BAD655536 /* Pods-LiquipediaMenu.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LiquipediaMenu.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -26,17 +34,28 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FB399B52A803D29045E1307F /* Pods_LiquipediaMenu.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
0C5431C5497A988E0E58556D /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
37CBB27C5544ABC18BCC3124 /* Pods_LiquipediaMenu.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3FB6BB3B216B8594000BF5AA = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3FB6BB46216B8594000BF5AA /* LiquipediaMenu */,
|
||||
3FB6BB45216B8594000BF5AA /* Products */,
|
||||
E0B4959D8858F82D9DFC566B /* Pods */,
|
||||
0C5431C5497A988E0E58556D /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
@@ -52,6 +71,8 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3FB6BB47216B8594000BF5AA /* AppDelegate.swift */,
|
||||
3F49E945216B86150047B0FE /* Match.swift */,
|
||||
3F49E947216B862B0047B0FE /* StatusBarController.swift */,
|
||||
3FB6BB49216B8595000BF5AA /* Assets.xcassets */,
|
||||
3FB6BB4B216B8595000BF5AA /* MainMenu.xib */,
|
||||
3FB6BB4E216B8595000BF5AA /* Info.plist */,
|
||||
@@ -60,6 +81,15 @@
|
||||
path = LiquipediaMenu;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
E0B4959D8858F82D9DFC566B /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
F17640390E809B5BAD655536 /* Pods-LiquipediaMenu.debug.xcconfig */,
|
||||
1DC0D8B9D836504166CF8796 /* Pods-LiquipediaMenu.release.xcconfig */,
|
||||
);
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@@ -67,9 +97,11 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3FB6BB52216B8595000BF5AA /* Build configuration list for PBXNativeTarget "LiquipediaMenu" */;
|
||||
buildPhases = (
|
||||
45C620BC2834CB3278FB65D4 /* [CP] Check Pods Manifest.lock */,
|
||||
3FB6BB40216B8594000BF5AA /* Sources */,
|
||||
3FB6BB41216B8594000BF5AA /* Frameworks */,
|
||||
3FB6BB42216B8594000BF5AA /* Resources */,
|
||||
B4F61CBFA65D07C25E3028F8 /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -125,12 +157,53 @@
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
45C620BC2834CB3278FB65D4 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-LiquipediaMenu-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;
|
||||
};
|
||||
B4F61CBFA65D07C25E3028F8 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${SRCROOT}/Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-frameworks.sh",
|
||||
"${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
3FB6BB40216B8594000BF5AA /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3FB6BB48216B8594000BF5AA /* AppDelegate.swift in Sources */,
|
||||
3F49E948216B862B0047B0FE /* StatusBarController.swift in Sources */,
|
||||
3F49E946216B86150047B0FE /* Match.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -265,9 +338,11 @@
|
||||
};
|
||||
3FB6BB53216B8595000BF5AA /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = F17640390E809B5BAD655536 /* Pods-LiquipediaMenu.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = LiquipediaMenu/LiquipediaMenu.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = NG5W75WE8U;
|
||||
@@ -278,15 +353,18 @@
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.felixfoertsch.LiquipediaMenu;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3FB6BB54216B8595000BF5AA /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 1DC0D8B9D836504166CF8796 /* Pods-LiquipediaMenu.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_ENTITLEMENTS = LiquipediaMenu/LiquipediaMenu.entitlements;
|
||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = NG5W75WE8U;
|
||||
@@ -297,6 +375,7 @@
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.felixfoertsch.LiquipediaMenu;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Release;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>LiquipediaMenu.xcscheme</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
<integer>2</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
10
LiquipediaMenu.xcworkspace/contents.xcworkspacedata
generated
Normal file
10
LiquipediaMenu.xcworkspace/contents.xcworkspacedata
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "group:LiquipediaMenu.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
@@ -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>
|
||||
@@ -10,12 +10,20 @@ import Cocoa
|
||||
|
||||
@NSApplicationMain
|
||||
class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
|
||||
@IBOutlet weak var statusBar: NSMenu!
|
||||
let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
|
||||
|
||||
@IBOutlet weak var window: NSWindow!
|
||||
|
||||
|
||||
@IBAction func quitClicked(_ sender: NSMenuItem) {
|
||||
NSApplication.shared.terminate(self)
|
||||
}
|
||||
|
||||
func applicationDidFinishLaunching(_ aNotification: Notification) {
|
||||
// Insert code here to initialize your application
|
||||
let icon = NSImage(named: "statusBarIcon")
|
||||
icon?.isTemplate = true
|
||||
statusItem.image = icon
|
||||
statusItem.menu = statusBar
|
||||
}
|
||||
|
||||
func applicationWillTerminate(_ aNotification: Notification) {
|
||||
|
||||
22
LiquipediaMenu/Assets.xcassets/statusBarIcon.imageset/Contents.json
vendored
Normal file
22
LiquipediaMenu/Assets.xcassets/statusBarIcon.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "statusBarIcon.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "statusBarIcon@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
BIN
LiquipediaMenu/Assets.xcassets/statusBarIcon.imageset/statusBarIcon.png
vendored
Normal file
BIN
LiquipediaMenu/Assets.xcassets/statusBarIcon.imageset/statusBarIcon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 870 B |
BIN
LiquipediaMenu/Assets.xcassets/statusBarIcon.imageset/statusBarIcon@2x.png
vendored
Normal file
BIN
LiquipediaMenu/Assets.xcassets/statusBarIcon.imageset/statusBarIcon@2x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -1,7 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11134"/>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14313.18"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||
@@ -10,10 +11,10 @@
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSApplication"/>
|
||||
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModuleProvider="target">
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="LiquipediaMenu" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
|
||||
<outlet property="statusBar" destination="o3m-Bx-rgD" id="Bmb-50-OYJ"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
|
||||
@@ -677,16 +678,18 @@
|
||||
</menu>
|
||||
</menuItem>
|
||||
</items>
|
||||
<point key="canvasLocation" x="277" y="-119"/>
|
||||
</menu>
|
||||
<menu id="o3m-Bx-rgD">
|
||||
<items>
|
||||
<menuItem title="Quit" id="PCC-7X-zIx">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="quitClicked:" target="Voe-Tx-rLC" id="LPh-O6-3HN"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
<point key="canvasLocation" x="380" y="145"/>
|
||||
</menu>
|
||||
<window title="LiquipediaMenu" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="335" y="390" width="480" height="360"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
|
||||
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="360"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</view>
|
||||
</window>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<string>1</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||
<key>LSUIElement</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2018 Felix Förtsch. All rights reserved.</string>
|
||||
<key>NSMainNibFile</key>
|
||||
|
||||
21
LiquipediaMenu/Match.swift
Normal file
21
LiquipediaMenu/Match.swift
Normal file
@@ -0,0 +1,21 @@
|
||||
//
|
||||
// Match.swift
|
||||
// LiquipediaMenu
|
||||
//
|
||||
// Created by Felix Förtsch on 08.10.18.
|
||||
// Copyright © 2018 Felix Förtsch. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct Match {
|
||||
var ongoing: Bool
|
||||
let streamLink: String
|
||||
let league: String
|
||||
|
||||
let team1name: String
|
||||
let team1score: Int
|
||||
|
||||
let team2name: String
|
||||
let team2score: Int
|
||||
}
|
||||
44
LiquipediaMenu/StatusBarController.swift
Normal file
44
LiquipediaMenu/StatusBarController.swift
Normal file
@@ -0,0 +1,44 @@
|
||||
//
|
||||
// StatusBarController.swift
|
||||
// LiquipediaMenu
|
||||
//
|
||||
// Created by Felix Förtsch on 08.10.18.
|
||||
// Copyright © 2018 Felix Förtsch. All rights reserved.
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
import SwiftyJSON
|
||||
|
||||
class StatusBarController: NSObject {
|
||||
|
||||
let baseURL = "https://liquipedia.net/"
|
||||
let game = "dota2"
|
||||
let query = "/api.php?action=parse&page=Liquipedia:Upcoming_and_ongoing_matches&format=json&prop=text"
|
||||
|
||||
var html = ""
|
||||
|
||||
func constructURL(baseURL: String, game: String, query: String) -> String {
|
||||
return baseURL + game + query
|
||||
}
|
||||
|
||||
func fetch(url: String) {
|
||||
|
||||
DispatchQueue.global().async {
|
||||
|
||||
[unowned self] in
|
||||
if let url = URL(string: url) {
|
||||
if let data = try? String(contentsOf: url) {
|
||||
let json = JSON(parseJSON: data)
|
||||
self.html = self.extractHTML(json: json)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func extractHTML(json: JSON) -> String {
|
||||
return json["parse"]["text"].stringValue
|
||||
}
|
||||
|
||||
}
|
||||
6
Podfile
Normal file
6
Podfile
Normal file
@@ -0,0 +1,6 @@
|
||||
platform :osx, '10.13'
|
||||
use_frameworks!
|
||||
|
||||
target 'LiquipediaMenu' do
|
||||
pod 'SwiftyJSON', '~> 4.2'
|
||||
end
|
||||
16
Podfile.lock
Normal file
16
Podfile.lock
Normal file
@@ -0,0 +1,16 @@
|
||||
PODS:
|
||||
- SwiftyJSON (4.2.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- SwiftyJSON (~> 4.2)
|
||||
|
||||
SPEC REPOS:
|
||||
https://github.com/cocoapods/specs.git:
|
||||
- SwiftyJSON
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
SwiftyJSON: c4bcba26dd9ec7a027fc8eade48e2c911f229e96
|
||||
|
||||
PODFILE CHECKSUM: 518542261b65427fca84d5e778eb3c2c9b8d82d1
|
||||
|
||||
COCOAPODS: 1.5.3
|
||||
16
Pods/Manifest.lock
generated
Normal file
16
Pods/Manifest.lock
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
PODS:
|
||||
- SwiftyJSON (4.2.0)
|
||||
|
||||
DEPENDENCIES:
|
||||
- SwiftyJSON (~> 4.2)
|
||||
|
||||
SPEC REPOS:
|
||||
https://github.com/cocoapods/specs.git:
|
||||
- SwiftyJSON
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
SwiftyJSON: c4bcba26dd9ec7a027fc8eade48e2c911f229e96
|
||||
|
||||
PODFILE CHECKSUM: 518542261b65427fca84d5e778eb3c2c9b8d82d1
|
||||
|
||||
COCOAPODS: 1.5.3
|
||||
585
Pods/Pods.xcodeproj/project.pbxproj
generated
Normal file
585
Pods/Pods.xcodeproj/project.pbxproj
generated
Normal file
@@ -0,0 +1,585 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0EBBB1F3E807671027A3499993BC1F30 /* Pods-LiquipediaMenu-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DC8E1146AEDC184675DE3BFD3225260 /* Pods-LiquipediaMenu-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
1AE6B3CFB2FF518E77136BB9E9ED17C4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF428FC7C7A6555B2B02D8E238C8D8F2 /* Cocoa.framework */; };
|
||||
2BA42D8DE8A524CA0D3DE5955DA6521A /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D2545A43F22D33A594021F5DC0CEB3AD /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
3C28BF3741A45C834D209B4747A7801F /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE506ECE97701EBA44FDBFF401C1A04 /* SwiftyJSON.swift */; };
|
||||
589AD8D555E287C15F78E23C2CA975AD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF428FC7C7A6555B2B02D8E238C8D8F2 /* Cocoa.framework */; };
|
||||
99E474F045E351C41792D8332684A06B /* Pods-LiquipediaMenu-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A776E0A70436EDEF0EA6255F15B3124B /* Pods-LiquipediaMenu-dummy.m */; };
|
||||
9EED6DB7271CE6D15EEC95A33C7127FB /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 519F97488515DDE14F549C4A2F8CC247 /* SwiftyJSON-dummy.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
5BCCCCB6AB3ED84DE7744035B7F96933 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 83620FFE10B9D7BAFD39206971C89135;
|
||||
remoteInfo = SwiftyJSON;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
03FE9CF8FA1C19584C4CDCE43942D707 /* Pods_LiquipediaMenu.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LiquipediaMenu.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
0D016381C9FBB25D558EF8C55592E6D7 /* Pods-LiquipediaMenu.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LiquipediaMenu.release.xcconfig"; sourceTree = "<group>"; };
|
||||
0FD1D556718F7F72612DBB852C53A11A /* Pods-LiquipediaMenu-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LiquipediaMenu-acknowledgements.plist"; sourceTree = "<group>"; };
|
||||
1105B1B4BC31DB983BC3200EE5BC75E4 /* Pods-LiquipediaMenu-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LiquipediaMenu-resources.sh"; sourceTree = "<group>"; };
|
||||
519F97488515DDE14F549C4A2F8CC247 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = "<group>"; };
|
||||
57DC78A7409F4E2C8CCA8F520B439C2F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
601BFBD6EEE891FCF89DF80594910A4E /* Pods-LiquipediaMenu.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LiquipediaMenu.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
83B82F63FAD4271C84265BEC3F20EEFF /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = "<group>"; };
|
||||
8DC8E1146AEDC184675DE3BFD3225260 /* Pods-LiquipediaMenu-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LiquipediaMenu-umbrella.h"; sourceTree = "<group>"; };
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
|
||||
A6C630DFF0B01F217573A7EDE60401B9 /* Pods-LiquipediaMenu-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LiquipediaMenu-acknowledgements.markdown"; sourceTree = "<group>"; };
|
||||
A776E0A70436EDEF0EA6255F15B3124B /* Pods-LiquipediaMenu-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LiquipediaMenu-dummy.m"; sourceTree = "<group>"; };
|
||||
BCBCA06E41FE19F621B657F38BA0C358 /* Pods-LiquipediaMenu-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LiquipediaMenu-frameworks.sh"; sourceTree = "<group>"; };
|
||||
BDE506ECE97701EBA44FDBFF401C1A04 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON.swift; sourceTree = "<group>"; };
|
||||
D21EF79A0DE4EDFC757EE852FE857C73 /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = "<group>"; };
|
||||
D2545A43F22D33A594021F5DC0CEB3AD /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = "<group>"; };
|
||||
D2A7117417C64FE0D12139A5E1F0F21F /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DF428FC7C7A6555B2B02D8E238C8D8F2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
|
||||
E06D59F71CA62BD4EDB256AE1B680688 /* Pods-LiquipediaMenu.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LiquipediaMenu.modulemap"; sourceTree = "<group>"; };
|
||||
E45022699EDA438A046AD43BC3926B01 /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyJSON.modulemap; sourceTree = "<group>"; };
|
||||
ECEA92E182BA77F227E4165B4260E0FA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
438EF62CF7948088B6F36FD68F6AF096 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
589AD8D555E287C15F78E23C2CA975AD /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
9B186198422E52D5D790ACEDDCB70FCA /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1AE6B3CFB2FF518E77136BB9E9ED17C4 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
0CA94E5249305ABC383D19494C20B72C /* Targets Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3DDDFE60C5609A7954BE44EAD48A8824 /* Pods-LiquipediaMenu */,
|
||||
);
|
||||
name = "Targets Support Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
39E9EE8210D861DFD82346C1F5EB7218 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FA7AC8429882A95AA0810A9DCDED54FF /* OS X */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3DDDFE60C5609A7954BE44EAD48A8824 /* Pods-LiquipediaMenu */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
57DC78A7409F4E2C8CCA8F520B439C2F /* Info.plist */,
|
||||
E06D59F71CA62BD4EDB256AE1B680688 /* Pods-LiquipediaMenu.modulemap */,
|
||||
A6C630DFF0B01F217573A7EDE60401B9 /* Pods-LiquipediaMenu-acknowledgements.markdown */,
|
||||
0FD1D556718F7F72612DBB852C53A11A /* Pods-LiquipediaMenu-acknowledgements.plist */,
|
||||
A776E0A70436EDEF0EA6255F15B3124B /* Pods-LiquipediaMenu-dummy.m */,
|
||||
BCBCA06E41FE19F621B657F38BA0C358 /* Pods-LiquipediaMenu-frameworks.sh */,
|
||||
1105B1B4BC31DB983BC3200EE5BC75E4 /* Pods-LiquipediaMenu-resources.sh */,
|
||||
8DC8E1146AEDC184675DE3BFD3225260 /* Pods-LiquipediaMenu-umbrella.h */,
|
||||
601BFBD6EEE891FCF89DF80594910A4E /* Pods-LiquipediaMenu.debug.xcconfig */,
|
||||
0D016381C9FBB25D558EF8C55592E6D7 /* Pods-LiquipediaMenu.release.xcconfig */,
|
||||
);
|
||||
name = "Pods-LiquipediaMenu";
|
||||
path = "Target Support Files/Pods-LiquipediaMenu";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
70A8E4D3C62B6C203D238581DA091C21 /* SwiftyJSON */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
BDE506ECE97701EBA44FDBFF401C1A04 /* SwiftyJSON.swift */,
|
||||
A82FB0ABA1BB1D08F4FA0D68E7D324CB /* Support Files */,
|
||||
);
|
||||
path = SwiftyJSON;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7A27182858755ED253696B03EA824653 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
03FE9CF8FA1C19584C4CDCE43942D707 /* Pods_LiquipediaMenu.framework */,
|
||||
D2A7117417C64FE0D12139A5E1F0F21F /* SwiftyJSON.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
7DB346D0F39D3F0E887471402A8071AB = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
|
||||
39E9EE8210D861DFD82346C1F5EB7218 /* Frameworks */,
|
||||
BD1E3C710F12F4B4C092FC8E2AD22110 /* Pods */,
|
||||
7A27182858755ED253696B03EA824653 /* Products */,
|
||||
0CA94E5249305ABC383D19494C20B72C /* Targets Support Files */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A82FB0ABA1BB1D08F4FA0D68E7D324CB /* Support Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
ECEA92E182BA77F227E4165B4260E0FA /* Info.plist */,
|
||||
E45022699EDA438A046AD43BC3926B01 /* SwiftyJSON.modulemap */,
|
||||
83B82F63FAD4271C84265BEC3F20EEFF /* SwiftyJSON.xcconfig */,
|
||||
519F97488515DDE14F549C4A2F8CC247 /* SwiftyJSON-dummy.m */,
|
||||
D21EF79A0DE4EDFC757EE852FE857C73 /* SwiftyJSON-prefix.pch */,
|
||||
D2545A43F22D33A594021F5DC0CEB3AD /* SwiftyJSON-umbrella.h */,
|
||||
);
|
||||
name = "Support Files";
|
||||
path = "../Target Support Files/SwiftyJSON";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BD1E3C710F12F4B4C092FC8E2AD22110 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
70A8E4D3C62B6C203D238581DA091C21 /* SwiftyJSON */,
|
||||
);
|
||||
name = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FA7AC8429882A95AA0810A9DCDED54FF /* OS X */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DF428FC7C7A6555B2B02D8E238C8D8F2 /* Cocoa.framework */,
|
||||
);
|
||||
name = "OS X";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
0B694BD56412BE1336C167805F703726 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
2BA42D8DE8A524CA0D3DE5955DA6521A /* SwiftyJSON-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1DDF46A96906DC24740E16FE351648DB /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
0EBBB1F3E807671027A3499993BC1F30 /* Pods-LiquipediaMenu-umbrella.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
83620FFE10B9D7BAFD39206971C89135 /* SwiftyJSON */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = E03E99F758365B1C0A6917F7A2DC1971 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */;
|
||||
buildPhases = (
|
||||
07C50B1B55765834E3AEE525D380D97A /* Sources */,
|
||||
438EF62CF7948088B6F36FD68F6AF096 /* Frameworks */,
|
||||
0B694BD56412BE1336C167805F703726 /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = SwiftyJSON;
|
||||
productName = SwiftyJSON;
|
||||
productReference = D2A7117417C64FE0D12139A5E1F0F21F /* SwiftyJSON.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
F25EEDB5389F38A4EB2AB3E7296073D9 /* Pods-LiquipediaMenu */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 32C3BD94070A8803F379AAD362723991 /* Build configuration list for PBXNativeTarget "Pods-LiquipediaMenu" */;
|
||||
buildPhases = (
|
||||
64AC042EAB877777D6B0DBF57D8D255E /* Sources */,
|
||||
9B186198422E52D5D790ACEDDCB70FCA /* Frameworks */,
|
||||
1DDF46A96906DC24740E16FE351648DB /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
0BB839C07AF6E3CA9E3C6B0BD23242A5 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "Pods-LiquipediaMenu";
|
||||
productName = "Pods-LiquipediaMenu";
|
||||
productReference = 03FE9CF8FA1C19584C4CDCE43942D707 /* Pods_LiquipediaMenu.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
D41D8CD98F00B204E9800998ECF8427E /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0930;
|
||||
LastUpgradeCheck = 0930;
|
||||
TargetAttributes = {
|
||||
F25EEDB5389F38A4EB2AB3E7296073D9 = {
|
||||
DevelopmentTeam = NG5W75WE8U;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
|
||||
productRefGroup = 7A27182858755ED253696B03EA824653 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
F25EEDB5389F38A4EB2AB3E7296073D9 /* Pods-LiquipediaMenu */,
|
||||
83620FFE10B9D7BAFD39206971C89135 /* SwiftyJSON */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
07C50B1B55765834E3AEE525D380D97A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
9EED6DB7271CE6D15EEC95A33C7127FB /* SwiftyJSON-dummy.m in Sources */,
|
||||
3C28BF3741A45C834D209B4747A7801F /* SwiftyJSON.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
64AC042EAB877777D6B0DBF57D8D255E /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
99E474F045E351C41792D8332684A06B /* Pods-LiquipediaMenu-dummy.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
0BB839C07AF6E3CA9E3C6B0BD23242A5 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = SwiftyJSON;
|
||||
target = 83620FFE10B9D7BAFD39206971C89135 /* SwiftyJSON */;
|
||||
targetProxy = 5BCCCCB6AB3ED84DE7744035B7F96933 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
2978B5D87BB140DC01504B493B39FAE9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 83B82F63FAD4271C84265BEC3F20EEFF /* SwiftyJSON.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_VERSION = A;
|
||||
GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/SwiftyJSON/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.9;
|
||||
MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap";
|
||||
PRODUCT_MODULE_NAME = SwiftyJSON;
|
||||
PRODUCT_NAME = SwiftyJSON;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.2;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
885072FBE917853E9C621EA32511C1DA /* 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;
|
||||
CODE_SIGNING_ALLOWED = NO;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
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 = (
|
||||
"POD_CONFIGURATION_DEBUG=1",
|
||||
"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 = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SYMROOT = "${SRCROOT}/../build";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
CAFDB8C9EC90C6CADEC663DB2C8BC24B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 83B82F63FAD4271C84265BEC3F20EEFF /* SwiftyJSON.xcconfig */;
|
||||
buildSettings = {
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_VERSION = A;
|
||||
GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch";
|
||||
INFOPLIST_FILE = "Target Support Files/SwiftyJSON/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.9;
|
||||
MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap";
|
||||
PRODUCT_MODULE_NAME = SwiftyJSON;
|
||||
PRODUCT_NAME = SwiftyJSON;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) ";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_VERSION = 4.2;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
E574923E2959CFEF4FEBC7B272DBC6AD /* 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;
|
||||
CODE_SIGNING_ALLOWED = NO;
|
||||
CODE_SIGNING_REQUIRED = NO;
|
||||
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_PREPROCESSOR_DEFINITIONS = (
|
||||
"POD_CONFIGURATION_RELEASE=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 = NO;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
SYMROOT = "${SRCROOT}/../build";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
EA454B80ADDDFBA9F92B2065363BA722 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 601BFBD6EEE891FCF89DF80594910A4E /* Pods-LiquipediaMenu.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
CLANG_ENABLE_OBJC_WEAK = NO;
|
||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = NG5W75WE8U;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_VERSION = A;
|
||||
INFOPLIST_FILE = "Target Support Files/Pods-LiquipediaMenu/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MODULEMAP_FILE = "Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.modulemap";
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
ED9AB786DEC84AE75EE8B46BA67F41FE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 0D016381C9FBB25D558EF8C55592E6D7 /* Pods-LiquipediaMenu.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
|
||||
CLANG_ENABLE_OBJC_WEAK = NO;
|
||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEFINES_MODULE = YES;
|
||||
DEVELOPMENT_TEAM = NG5W75WE8U;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_VERSION = A;
|
||||
INFOPLIST_FILE = "Target Support Files/Pods-LiquipediaMenu/Info.plist";
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||
MODULEMAP_FILE = "Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.modulemap";
|
||||
OTHER_LDFLAGS = "";
|
||||
OTHER_LIBTOOLFLAGS = "";
|
||||
PODS_ROOT = "$(SRCROOT)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
885072FBE917853E9C621EA32511C1DA /* Debug */,
|
||||
E574923E2959CFEF4FEBC7B272DBC6AD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
32C3BD94070A8803F379AAD362723991 /* Build configuration list for PBXNativeTarget "Pods-LiquipediaMenu" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
EA454B80ADDDFBA9F92B2065363BA722 /* Debug */,
|
||||
ED9AB786DEC84AE75EE8B46BA67F41FE /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
E03E99F758365B1C0A6917F7A2DC1971 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
2978B5D87BB140DC01504B493B39FAE9 /* Debug */,
|
||||
CAFDB8C9EC90C6CADEC663DB2C8BC24B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
|
||||
}
|
||||
71
Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/Pods-LiquipediaMenu.xcscheme
generated
Normal file
71
Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/Pods-LiquipediaMenu.xcscheme
generated
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0930"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F25EEDB5389F38A4EB2AB3E7296073D9"
|
||||
BuildableName = "Pods_LiquipediaMenu.framework"
|
||||
BlueprintName = "Pods-LiquipediaMenu"
|
||||
ReferencedContainer = "container:Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</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">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F25EEDB5389F38A4EB2AB3E7296073D9"
|
||||
BuildableName = "Pods_LiquipediaMenu.framework"
|
||||
BlueprintName = "Pods-LiquipediaMenu"
|
||||
ReferencedContainer = "container:Pods.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
60
Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/SwiftyJSON.xcscheme
generated
Normal file
60
Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/SwiftyJSON.xcscheme
generated
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0930"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForAnalyzing = "YES"
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "83620FFE10B9D7BAFD39206971C89135"
|
||||
BlueprintName = "SwiftyJSON"
|
||||
ReferencedContainer = "container:Pods.xcodeproj"
|
||||
BuildableName = "SwiftyJSON.framework">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
buildConfiguration = "Debug"
|
||||
allowLocationSimulation = "YES">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
25
Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/xcschememanagement.plist
generated
Normal file
25
Pods/Pods.xcodeproj/xcuserdata/felixfoertsch.xcuserdatad/xcschemes/xcschememanagement.plist
generated
Normal file
@@ -0,0 +1,25 @@
|
||||
<?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>Pods-LiquipediaMenu.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>SwiftyJSON.xcscheme</key>
|
||||
<dict>
|
||||
<key>isShown</key>
|
||||
<false/>
|
||||
<key>orderHint</key>
|
||||
<integer>1</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</plist>
|
||||
21
Pods/SwiftyJSON/LICENSE
generated
Normal file
21
Pods/SwiftyJSON/LICENSE
generated
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Ruoyu Fu
|
||||
|
||||
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.
|
||||
549
Pods/SwiftyJSON/README.md
generated
Normal file
549
Pods/SwiftyJSON/README.md
generated
Normal file
@@ -0,0 +1,549 @@
|
||||
# SwiftyJSON
|
||||
|
||||
[](https://travis-ci.org/SwiftyJSON/SwiftyJSON) [](https://github.com/Carthage/Carthage)  
|
||||
|
||||
SwiftyJSON makes it easy to deal with JSON data in Swift.
|
||||
|
||||
1. [Why is the typical JSON handling in Swift NOT good](#why-is-the-typical-json-handling-in-swift-not-good)
|
||||
2. [Requirements](#requirements)
|
||||
3. [Integration](#integration)
|
||||
4. [Usage](#usage)
|
||||
- [Initialization](#initialization)
|
||||
- [Subscript](#subscript)
|
||||
- [Loop](#loop)
|
||||
- [Error](#error)
|
||||
- [Optional getter](#optional-getter)
|
||||
- [Non-optional getter](#non-optional-getter)
|
||||
- [Setter](#setter)
|
||||
- [Raw object](#raw-object)
|
||||
- [Literal convertibles](#literal-convertibles)
|
||||
- [Merging](#merging)
|
||||
5. [Work with Alamofire](#work-with-alamofire)
|
||||
6. [Work with Moya](#work-with-moya)
|
||||
|
||||
> [中文介绍](http://tangplin.github.io/swiftyjson/)
|
||||
|
||||
|
||||
## Why is the typical JSON handling in Swift NOT good?
|
||||
|
||||
Swift is very strict about types. But although explicit typing is good for saving us from mistakes, it becomes painful when dealing with JSON and other areas that are, by nature, implicit about types.
|
||||
|
||||
Take the Twitter API for example. Say we want to retrieve a user's "name" value of some tweet in Swift (according to [Twitter's API](https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline)).
|
||||
|
||||
The code would look like this:
|
||||
|
||||
```swift
|
||||
if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],
|
||||
let user = statusesArray[0]["user"] as? [String: Any],
|
||||
let username = user["name"] as? String {
|
||||
// Finally we got the username
|
||||
}
|
||||
```
|
||||
|
||||
It's not good.
|
||||
|
||||
Even if we use optional chaining, it would be messy:
|
||||
|
||||
```swift
|
||||
if let JSONObject = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],
|
||||
let username = (JSONObject[0]["user"] as? [String: Any])?["name"] as? String {
|
||||
// There's our username
|
||||
}
|
||||
```
|
||||
|
||||
An unreadable mess--for something that should really be simple!
|
||||
|
||||
With SwiftyJSON all you have to do is:
|
||||
|
||||
```swift
|
||||
let json = JSON(data: dataFromNetworking)
|
||||
if let userName = json[0]["user"]["name"].string {
|
||||
//Now you got your value
|
||||
}
|
||||
```
|
||||
|
||||
And don't worry about the Optional Wrapping thing. It's done for you automatically.
|
||||
|
||||
```swift
|
||||
let json = JSON(data: dataFromNetworking)
|
||||
if let userName = json[999999]["wrong_key"]["wrong_name"].string {
|
||||
//Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety
|
||||
} else {
|
||||
//Print the error
|
||||
print(json[999999]["wrong_key"]["wrong_name"])
|
||||
}
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
|
||||
- Xcode 8
|
||||
|
||||
## Integration
|
||||
|
||||
#### CocoaPods (iOS 8+, OS X 10.9+)
|
||||
|
||||
You can use [CocoaPods](http://cocoapods.org/) to install `SwiftyJSON` by adding it to your `Podfile`:
|
||||
|
||||
```ruby
|
||||
platform :ios, '8.0'
|
||||
use_frameworks!
|
||||
|
||||
target 'MyApp' do
|
||||
pod 'SwiftyJSON', '~> 4.0'
|
||||
end
|
||||
```
|
||||
|
||||
#### Carthage (iOS 8+, OS X 10.9+)
|
||||
|
||||
You can use [Carthage](https://github.com/Carthage/Carthage) to install `SwiftyJSON` by adding it to your `Cartfile`:
|
||||
|
||||
```
|
||||
github "SwiftyJSON/SwiftyJSON" ~> 4.0
|
||||
```
|
||||
|
||||
If you use Carthage to build your dependencies, make sure you have added `SwiftyJSON.framework` to the "Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build phase.
|
||||
|
||||
#### Swift Package Manager
|
||||
|
||||
You can use [The Swift Package Manager](https://swift.org/package-manager) to install `SwiftyJSON` by adding the proper description to your `Package.swift` file:
|
||||
|
||||
```swift
|
||||
// swift-tools-version:4.0
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "YOUR_PROJECT_NAME",
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0"),
|
||||
]
|
||||
)
|
||||
```
|
||||
Then run `swift build` whenever you get prepared.
|
||||
|
||||
#### Manually (iOS 7+, OS X 10.9+)
|
||||
|
||||
To use this library in your project manually you may:
|
||||
|
||||
1. for Projects, just drag SwiftyJSON.swift to the project tree
|
||||
2. for Workspaces, include the whole SwiftyJSON.xcodeproj
|
||||
|
||||
## Usage
|
||||
|
||||
#### Initialization
|
||||
|
||||
```swift
|
||||
import SwiftyJSON
|
||||
```
|
||||
|
||||
```swift
|
||||
let json = JSON(data: dataFromNetworking)
|
||||
```
|
||||
Or
|
||||
|
||||
```swift
|
||||
let json = JSON(jsonObject)
|
||||
```
|
||||
Or
|
||||
|
||||
```swift
|
||||
if let dataFromString = jsonString.data(using: .utf8, allowLossyConversion: false) {
|
||||
let json = JSON(data: dataFromString)
|
||||
}
|
||||
```
|
||||
|
||||
#### Subscript
|
||||
|
||||
```swift
|
||||
// Getting a double from a JSON Array
|
||||
let name = json[0].double
|
||||
```
|
||||
|
||||
```swift
|
||||
// Getting an array of string from a JSON Array
|
||||
let arrayNames = json["users"].arrayValue.map({$0["name"].stringValue})
|
||||
```
|
||||
|
||||
```swift
|
||||
// Getting a string from a JSON Dictionary
|
||||
let name = json["name"].stringValue
|
||||
```
|
||||
|
||||
```swift
|
||||
// Getting a string using a path to the element
|
||||
let path: [JSONSubscriptType] = [1,"list",2,"name"]
|
||||
let name = json[path].string
|
||||
// Just the same
|
||||
let name = json[1]["list"][2]["name"].string
|
||||
// Alternatively
|
||||
let name = json[1,"list",2,"name"].string
|
||||
```
|
||||
|
||||
```swift
|
||||
// With a hard way
|
||||
let name = json[].string
|
||||
```
|
||||
|
||||
```swift
|
||||
// With a custom way
|
||||
let keys:[JSONSubscriptType] = [1,"list",2,"name"]
|
||||
let name = json[keys].string
|
||||
```
|
||||
|
||||
#### Loop
|
||||
|
||||
```swift
|
||||
// If json is .Dictionary
|
||||
for (key,subJson):(String, JSON) in json {
|
||||
// Do something you want
|
||||
}
|
||||
```
|
||||
|
||||
*The first element is always a String, even if the JSON is an Array*
|
||||
|
||||
```swift
|
||||
// If json is .Array
|
||||
// The `index` is 0..<json.count's string value
|
||||
for (index,subJson):(String, JSON) in json {
|
||||
// Do something you want
|
||||
}
|
||||
```
|
||||
|
||||
#### Error
|
||||
|
||||
##### SwiftyJSON 4.x
|
||||
|
||||
SwiftyJSON 4.x introduces an enum type called `SwiftyJSONError`, which includes `unsupportedType`, `indexOutOfBounds`, `elementTooDeep`, `wrongType`, `notExist` and `invalidJSON`, at the same time, `ErrorDomain` are being replaced by `SwiftyJSONError.errorDomain`.
|
||||
Note: Those old error types are deprecated in SwiftyJSON 4.x and will be removed in the future release.
|
||||
|
||||
##### SwiftyJSON 3.x
|
||||
|
||||
Use a subscript to get/set a value in an Array or Dictionary
|
||||
|
||||
If the JSON is:
|
||||
* an array, the app may crash with "index out-of-bounds."
|
||||
* a dictionary, it will be assigned to `nil` without a reason.
|
||||
* not an array or a dictionary, the app may crash with an "unrecognised selector" exception.
|
||||
|
||||
This will never happen in SwiftyJSON.
|
||||
|
||||
```swift
|
||||
let json = JSON(["name", "age"])
|
||||
if let name = json[999].string {
|
||||
// Do something you want
|
||||
} else {
|
||||
print(json[999].error!) // "Array[999] is out of bounds"
|
||||
}
|
||||
```
|
||||
|
||||
```swift
|
||||
let json = JSON(["name":"Jack", "age": 25])
|
||||
if let name = json["address"].string {
|
||||
// Do something you want
|
||||
} else {
|
||||
print(json["address"].error!) // "Dictionary["address"] does not exist"
|
||||
}
|
||||
```
|
||||
|
||||
```swift
|
||||
let json = JSON(12345)
|
||||
if let age = json[0].string {
|
||||
// Do something you want
|
||||
} else {
|
||||
print(json[0]) // "Array[0] failure, It is not an array"
|
||||
print(json[0].error!) // "Array[0] failure, It is not an array"
|
||||
}
|
||||
|
||||
if let name = json["name"].string {
|
||||
// Do something you want
|
||||
} else {
|
||||
print(json["name"]) // "Dictionary[\"name"] failure, It is not an dictionary"
|
||||
print(json["name"].error!) // "Dictionary[\"name"] failure, It is not an dictionary"
|
||||
}
|
||||
```
|
||||
|
||||
#### Optional getter
|
||||
|
||||
```swift
|
||||
// NSNumber
|
||||
if let id = json["user"]["favourites_count"].number {
|
||||
// Do something you want
|
||||
} else {
|
||||
// Print the error
|
||||
print(json["user"]["favourites_count"].error!)
|
||||
}
|
||||
```
|
||||
|
||||
```swift
|
||||
// String
|
||||
if let id = json["user"]["name"].string {
|
||||
// Do something you want
|
||||
} else {
|
||||
// Print the error
|
||||
print(json["user"]["name"].error!)
|
||||
}
|
||||
```
|
||||
|
||||
```swift
|
||||
// Bool
|
||||
if let id = json["user"]["is_translator"].bool {
|
||||
// Do something you want
|
||||
} else {
|
||||
// Print the error
|
||||
print(json["user"]["is_translator"].error!)
|
||||
}
|
||||
```
|
||||
|
||||
```swift
|
||||
// Int
|
||||
if let id = json["user"]["id"].int {
|
||||
// Do something you want
|
||||
} else {
|
||||
// Print the error
|
||||
print(json["user"]["id"].error!)
|
||||
}
|
||||
...
|
||||
```
|
||||
|
||||
#### Non-optional getter
|
||||
|
||||
Non-optional getter is named `xxxValue`
|
||||
|
||||
```swift
|
||||
// If not a Number or nil, return 0
|
||||
let id: Int = json["id"].intValue
|
||||
```
|
||||
|
||||
```swift
|
||||
// If not a String or nil, return ""
|
||||
let name: String = json["name"].stringValue
|
||||
```
|
||||
|
||||
```swift
|
||||
// If not an Array or nil, return []
|
||||
let list: Array<JSON> = json["list"].arrayValue
|
||||
```
|
||||
|
||||
```swift
|
||||
// If not a Dictionary or nil, return [:]
|
||||
let user: Dictionary<String, JSON> = json["user"].dictionaryValue
|
||||
```
|
||||
|
||||
#### Setter
|
||||
|
||||
```swift
|
||||
json["name"] = JSON("new-name")
|
||||
json[0] = JSON(1)
|
||||
```
|
||||
|
||||
```swift
|
||||
json["id"].int = 1234567890
|
||||
json["coordinate"].double = 8766.766
|
||||
json["name"].string = "Jack"
|
||||
json.arrayObject = [1,2,3,4]
|
||||
json.dictionaryObject = ["name":"Jack", "age":25]
|
||||
```
|
||||
|
||||
#### Raw object
|
||||
|
||||
```swift
|
||||
let rawObject: Any = json.object
|
||||
```
|
||||
|
||||
```swift
|
||||
let rawValue: Any = json.rawValue
|
||||
```
|
||||
|
||||
```swift
|
||||
//convert the JSON to raw NSData
|
||||
do {
|
||||
let rawData = try json.rawData()
|
||||
//Do something you want
|
||||
} catch {
|
||||
print("Error \(error)")
|
||||
}
|
||||
```
|
||||
|
||||
```swift
|
||||
//convert the JSON to a raw String
|
||||
if let rawString = json.rawString() {
|
||||
//Do something you want
|
||||
} else {
|
||||
print("json.rawString is nil")
|
||||
}
|
||||
```
|
||||
|
||||
#### Existence
|
||||
|
||||
```swift
|
||||
// shows you whether value specified in JSON or not
|
||||
if json["name"].exists()
|
||||
```
|
||||
|
||||
#### Literal convertibles
|
||||
|
||||
For more info about literal convertibles: [Swift Literal Convertibles](http://nshipster.com/swift-literal-convertible/)
|
||||
|
||||
```swift
|
||||
// StringLiteralConvertible
|
||||
let json: JSON = "I'm a json"
|
||||
```
|
||||
|
||||
```swift
|
||||
/ /IntegerLiteralConvertible
|
||||
let json: JSON = 12345
|
||||
```
|
||||
|
||||
```swift
|
||||
// BooleanLiteralConvertible
|
||||
let json: JSON = true
|
||||
```
|
||||
|
||||
```swift
|
||||
// FloatLiteralConvertible
|
||||
let json: JSON = 2.8765
|
||||
```
|
||||
|
||||
```swift
|
||||
// DictionaryLiteralConvertible
|
||||
let json: JSON = ["I":"am", "a":"json"]
|
||||
```
|
||||
|
||||
```swift
|
||||
// ArrayLiteralConvertible
|
||||
let json: JSON = ["I", "am", "a", "json"]
|
||||
```
|
||||
|
||||
```swift
|
||||
// With subscript in array
|
||||
var json: JSON = [1,2,3]
|
||||
json[0] = 100
|
||||
json[1] = 200
|
||||
json[2] = 300
|
||||
json[999] = 300 // Don't worry, nothing will happen
|
||||
```
|
||||
|
||||
```swift
|
||||
// With subscript in dictionary
|
||||
var json: JSON = ["name": "Jack", "age": 25]
|
||||
json["name"] = "Mike"
|
||||
json["age"] = "25" // It's OK to set String
|
||||
json["address"] = "L.A." // Add the "address": "L.A." in json
|
||||
```
|
||||
|
||||
```swift
|
||||
// Array & Dictionary
|
||||
var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]]
|
||||
json["list"][3]["what"] = "that"
|
||||
json["list",3,"what"] = "that"
|
||||
let path: [JSONSubscriptType] = ["list",3,"what"]
|
||||
json[path] = "that"
|
||||
```
|
||||
|
||||
```swift
|
||||
// With other JSON objects
|
||||
let user: JSON = ["username" : "Steve", "password": "supersecurepassword"]
|
||||
let auth: JSON = [
|
||||
"user": user.object, // use user.object instead of just user
|
||||
"apikey": "supersecretapitoken"
|
||||
]
|
||||
```
|
||||
|
||||
#### Merging
|
||||
|
||||
It is possible to merge one JSON into another JSON. Merging a JSON into another JSON adds all non existing values to the original JSON which are only present in the `other` JSON.
|
||||
|
||||
If both JSONs contain a value for the same key, _mostly_ this value gets overwritten in the original JSON, but there are two cases where it provides some special treatment:
|
||||
|
||||
- In case of both values being a `JSON.Type.array` the values form the array found in the `other` JSON getting appended to the original JSON's array value.
|
||||
- In case of both values being a `JSON.Type.dictionary` both JSON-values are getting merged the same way the encapsulating JSON is merged.
|
||||
|
||||
In case, where two fields in a JSON have a different types, the value will get always overwritten.
|
||||
|
||||
There are two different fashions for merging: `merge` modifies the original JSON, whereas `merged` works non-destructively on a copy.
|
||||
|
||||
```swift
|
||||
let original: JSON = [
|
||||
"first_name": "John",
|
||||
"age": 20,
|
||||
"skills": ["Coding", "Reading"],
|
||||
"address": [
|
||||
"street": "Front St",
|
||||
"zip": "12345",
|
||||
]
|
||||
]
|
||||
|
||||
let update: JSON = [
|
||||
"last_name": "Doe",
|
||||
"age": 21,
|
||||
"skills": ["Writing"],
|
||||
"address": [
|
||||
"zip": "12342",
|
||||
"city": "New York City"
|
||||
]
|
||||
]
|
||||
|
||||
let updated = original.merge(with: update)
|
||||
// [
|
||||
// "first_name": "John",
|
||||
// "last_name": "Doe",
|
||||
// "age": 21,
|
||||
// "skills": ["Coding", "Reading", "Writing"],
|
||||
// "address": [
|
||||
// "street": "Front St",
|
||||
// "zip": "12342",
|
||||
// "city": "New York City"
|
||||
// ]
|
||||
// ]
|
||||
```
|
||||
|
||||
## String representation
|
||||
There are two options available:
|
||||
- use the default Swift one
|
||||
- use a custom one that will handle optionals well and represent `nil` as `"null"`:
|
||||
```swift
|
||||
let dict = ["1":2, "2":"two", "3": nil] as [String: Any?]
|
||||
let json = JSON(dict)
|
||||
let representation = json.rawString(options: [.castNilToNSNull: true])
|
||||
// representation is "{\"1\":2,\"2\":\"two\",\"3\":null}", which represents {"1":2,"2":"two","3":null}
|
||||
```
|
||||
|
||||
## Work with [Alamofire](https://github.com/Alamofire/Alamofire)
|
||||
|
||||
SwiftyJSON nicely wraps the result of the Alamofire JSON response handler:
|
||||
|
||||
```swift
|
||||
Alamofire.request(url, method: .get).validate().responseJSON { response in
|
||||
switch response.result {
|
||||
case .success(let value):
|
||||
let json = JSON(value)
|
||||
print("JSON: \(json)")
|
||||
case .failure(let error):
|
||||
print(error)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
We also provide an extension of Alamofire for serializing NSData to SwiftyJSON's JSON.
|
||||
|
||||
See: [Alamofire-SwiftyJSON](https://github.com/SwiftyJSON/Alamofire-SwiftyJSON)
|
||||
|
||||
|
||||
## Work with [Moya](https://github.com/Moya/Moya)
|
||||
|
||||
SwiftyJSON parse data to JSON:
|
||||
|
||||
```swift
|
||||
let provider = MoyaProvider<Backend>()
|
||||
provider.request(.showProducts) { result in
|
||||
switch result {
|
||||
case let .success(moyaResponse):
|
||||
let data = moyaResponse.data
|
||||
let json = JSON(data: data) // convert network data to json
|
||||
print(json)
|
||||
case let .failure(error):
|
||||
print("error: \(error)")
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
1526
Pods/SwiftyJSON/Source/SwiftyJSON.swift
generated
Normal file
1526
Pods/SwiftyJSON/Source/SwiftyJSON.swift
generated
Normal file
File diff suppressed because it is too large
Load Diff
26
Pods/Target Support Files/Pods-LiquipediaMenu/Info.plist
generated
Normal file
26
Pods/Target Support Files/Pods-LiquipediaMenu/Info.plist
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
28
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-acknowledgements.markdown
generated
Normal file
28
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-acknowledgements.markdown
generated
Normal file
@@ -0,0 +1,28 @@
|
||||
# Acknowledgements
|
||||
This application makes use of the following third party libraries:
|
||||
|
||||
## SwiftyJSON
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Ruoyu Fu
|
||||
|
||||
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.
|
||||
|
||||
Generated by CocoaPods - https://cocoapods.org
|
||||
60
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-acknowledgements.plist
generated
Normal file
60
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-acknowledgements.plist
generated
Normal file
@@ -0,0 +1,60 @@
|
||||
<?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>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>This application makes use of the following third party libraries:</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Ruoyu Fu
|
||||
|
||||
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.
|
||||
</string>
|
||||
<key>License</key>
|
||||
<string>MIT</string>
|
||||
<key>Title</key>
|
||||
<string>SwiftyJSON</string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>FooterText</key>
|
||||
<string>Generated by CocoaPods - https://cocoapods.org</string>
|
||||
<key>Title</key>
|
||||
<string></string>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>StringsTable</key>
|
||||
<string>Acknowledgements</string>
|
||||
<key>Title</key>
|
||||
<string>Acknowledgements</string>
|
||||
</dict>
|
||||
</plist>
|
||||
5
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-dummy.m
generated
Normal file
5
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-dummy.m
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_Pods_LiquipediaMenu : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_Pods_LiquipediaMenu
|
||||
@end
|
||||
153
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-frameworks.sh
generated
Executable file
153
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-frameworks.sh
generated
Executable file
@@ -0,0 +1,153 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
|
||||
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# frameworks to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
|
||||
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
||||
|
||||
# Used as a return value for each invocation of `strip_invalid_archs` function.
|
||||
STRIP_BINARY_RETVAL=0
|
||||
|
||||
# This protects against multiple targets copying the same framework dependency at the same time. The solution
|
||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
||||
|
||||
# Copies and strips a vendored framework
|
||||
install_framework()
|
||||
{
|
||||
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$1"
|
||||
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
|
||||
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
|
||||
elif [ -r "$1" ]; then
|
||||
local source="$1"
|
||||
fi
|
||||
|
||||
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
|
||||
if [ -L "${source}" ]; then
|
||||
echo "Symlinked..."
|
||||
source="$(readlink "${source}")"
|
||||
fi
|
||||
|
||||
# Use filter instead of exclude so missing patterns don't throw errors.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .framework "$1")"
|
||||
binary="${destination}/${basename}.framework/${basename}"
|
||||
if ! [ -r "$binary" ]; then
|
||||
binary="${destination}/${basename}"
|
||||
fi
|
||||
|
||||
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
||||
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
|
||||
strip_invalid_archs "$binary"
|
||||
fi
|
||||
|
||||
# Resign the code if required by the build settings to avoid unstable apps
|
||||
code_sign_if_enabled "${destination}/$(basename "$1")"
|
||||
|
||||
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
|
||||
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
|
||||
local swift_runtime_libs
|
||||
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]})
|
||||
for lib in $swift_runtime_libs; do
|
||||
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
|
||||
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
|
||||
code_sign_if_enabled "${destination}/${lib}"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Copies and strips a vendored dSYM
|
||||
install_dsym() {
|
||||
local source="$1"
|
||||
if [ -r "$source" ]; then
|
||||
# Copy the dSYM into a the targets temp dir.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
|
||||
|
||||
local basename
|
||||
basename="$(basename -s .framework.dSYM "$source")"
|
||||
binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
|
||||
|
||||
# Strip invalid architectures so "fat" simulator / device frameworks work on device
|
||||
if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then
|
||||
strip_invalid_archs "$binary"
|
||||
fi
|
||||
|
||||
if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
|
||||
# Move the stripped file into its final destination.
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
|
||||
else
|
||||
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
|
||||
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Signs a framework with the provided identity
|
||||
code_sign_if_enabled() {
|
||||
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
|
||||
# Use the current code_sign_identitiy
|
||||
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
|
||||
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
|
||||
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
code_sign_cmd="$code_sign_cmd &"
|
||||
fi
|
||||
echo "$code_sign_cmd"
|
||||
eval "$code_sign_cmd"
|
||||
fi
|
||||
}
|
||||
|
||||
# Strip invalid architectures
|
||||
strip_invalid_archs() {
|
||||
binary="$1"
|
||||
# Get architectures for current target binary
|
||||
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
|
||||
# Intersect them with the architectures we are building for
|
||||
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
|
||||
# If there are no archs supported by this binary then warn the user
|
||||
if [[ -z "$intersected_archs" ]]; then
|
||||
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
|
||||
STRIP_BINARY_RETVAL=0
|
||||
return
|
||||
fi
|
||||
stripped=""
|
||||
for arch in $binary_archs; do
|
||||
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
|
||||
# Strip non-valid architectures in-place
|
||||
lipo -remove "$arch" -output "$binary" "$binary" || exit 1
|
||||
stripped="$stripped $arch"
|
||||
fi
|
||||
done
|
||||
if [[ "$stripped" ]]; then
|
||||
echo "Stripped $binary of architectures:$stripped"
|
||||
fi
|
||||
STRIP_BINARY_RETVAL=1
|
||||
}
|
||||
|
||||
|
||||
if [[ "$CONFIGURATION" == "Debug" ]]; then
|
||||
install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework"
|
||||
fi
|
||||
if [[ "$CONFIGURATION" == "Release" ]]; then
|
||||
install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework"
|
||||
fi
|
||||
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
|
||||
wait
|
||||
fi
|
||||
118
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-resources.sh
generated
Executable file
118
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-resources.sh
generated
Executable file
@@ -0,0 +1,118 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
|
||||
# If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy
|
||||
# resources to, so exit 0 (signalling the script phase was successful).
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
|
||||
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt
|
||||
> "$RESOURCES_TO_COPY"
|
||||
|
||||
XCASSET_FILES=()
|
||||
|
||||
# This protects against multiple targets copying the same framework dependency at the same time. The solution
|
||||
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
|
||||
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
|
||||
|
||||
case "${TARGETED_DEVICE_FAMILY:-}" in
|
||||
1,2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
||||
;;
|
||||
1)
|
||||
TARGET_DEVICE_ARGS="--target-device iphone"
|
||||
;;
|
||||
2)
|
||||
TARGET_DEVICE_ARGS="--target-device ipad"
|
||||
;;
|
||||
3)
|
||||
TARGET_DEVICE_ARGS="--target-device tv"
|
||||
;;
|
||||
4)
|
||||
TARGET_DEVICE_ARGS="--target-device watch"
|
||||
;;
|
||||
*)
|
||||
TARGET_DEVICE_ARGS="--target-device mac"
|
||||
;;
|
||||
esac
|
||||
|
||||
install_resource()
|
||||
{
|
||||
if [[ "$1" = /* ]] ; then
|
||||
RESOURCE_PATH="$1"
|
||||
else
|
||||
RESOURCE_PATH="${PODS_ROOT}/$1"
|
||||
fi
|
||||
if [[ ! -e "$RESOURCE_PATH" ]] ; then
|
||||
cat << EOM
|
||||
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script.
|
||||
EOM
|
||||
exit 1
|
||||
fi
|
||||
case $RESOURCE_PATH in
|
||||
*.storyboard)
|
||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
|
||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||
;;
|
||||
*.xib)
|
||||
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true
|
||||
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS}
|
||||
;;
|
||||
*.framework)
|
||||
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true
|
||||
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
||||
;;
|
||||
*.xcdatamodel)
|
||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true
|
||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom"
|
||||
;;
|
||||
*.xcdatamodeld)
|
||||
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true
|
||||
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd"
|
||||
;;
|
||||
*.xcmappingmodel)
|
||||
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true
|
||||
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm"
|
||||
;;
|
||||
*.xcassets)
|
||||
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH"
|
||||
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE")
|
||||
;;
|
||||
*)
|
||||
echo "$RESOURCE_PATH" || true
|
||||
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then
|
||||
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
fi
|
||||
rm -f "$RESOURCES_TO_COPY"
|
||||
|
||||
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ]
|
||||
then
|
||||
# Find all other xcassets (this unfortunately includes those of path pods and other targets).
|
||||
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d)
|
||||
while read line; do
|
||||
if [[ $line != "${PODS_ROOT}*" ]]; then
|
||||
XCASSET_FILES+=("$line")
|
||||
fi
|
||||
done <<<"$OTHER_XCASSETS"
|
||||
|
||||
if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
|
||||
else
|
||||
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist"
|
||||
fi
|
||||
fi
|
||||
16
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-umbrella.h
generated
Normal file
16
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu-umbrella.h
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double Pods_LiquipediaMenuVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char Pods_LiquipediaMenuVersionString[];
|
||||
|
||||
12
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.debug.xcconfig
generated
Normal file
12
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.debug.xcconfig
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CODE_SIGN_IDENTITY =
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SwiftyJSON"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
6
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.modulemap
generated
Normal file
6
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.modulemap
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
framework module Pods_LiquipediaMenu {
|
||||
umbrella header "Pods-LiquipediaMenu-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
12
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.release.xcconfig
generated
Normal file
12
Pods/Target Support Files/Pods-LiquipediaMenu/Pods-LiquipediaMenu.release.xcconfig
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
|
||||
CODE_SIGN_IDENTITY =
|
||||
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON"
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks'
|
||||
OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers"
|
||||
OTHER_LDFLAGS = $(inherited) -framework "SwiftyJSON"
|
||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
|
||||
PODS_ROOT = ${SRCROOT}/Pods
|
||||
26
Pods/Target Support Files/SwiftyJSON/Info.plist
generated
Normal file
26
Pods/Target Support Files/SwiftyJSON/Info.plist
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>4.2.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${CURRENT_PROJECT_VERSION}</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
5
Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m
generated
Normal file
5
Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
@interface PodsDummy_SwiftyJSON : NSObject
|
||||
@end
|
||||
@implementation PodsDummy_SwiftyJSON
|
||||
@end
|
||||
12
Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch
generated
Normal file
12
Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
16
Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h
generated
Normal file
16
Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h
generated
Normal file
@@ -0,0 +1,16 @@
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#else
|
||||
#ifndef FOUNDATION_EXPORT
|
||||
#if defined(__cplusplus)
|
||||
#define FOUNDATION_EXPORT extern "C"
|
||||
#else
|
||||
#define FOUNDATION_EXPORT extern
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
FOUNDATION_EXPORT double SwiftyJSONVersionNumber;
|
||||
FOUNDATION_EXPORT const unsigned char SwiftyJSONVersionString[];
|
||||
|
||||
6
Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap
generated
Normal file
6
Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
framework module SwiftyJSON {
|
||||
umbrella header "SwiftyJSON-umbrella.h"
|
||||
|
||||
export *
|
||||
module * { export * }
|
||||
}
|
||||
10
Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig
generated
Normal file
10
Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
CODE_SIGN_IDENTITY =
|
||||
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
|
||||
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
|
||||
PODS_BUILD_DIR = ${BUILD_DIR}
|
||||
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
|
||||
PODS_ROOT = ${SRCROOT}
|
||||
PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyJSON
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
|
||||
SKIP_INSTALL = YES
|
||||
Reference in New Issue
Block a user