FlashBack Pro is now able to fully backup setups
This commit is contained in:
parent
1a0674c74e
commit
239e898d52
17 changed files with 721 additions and 753 deletions
|
@ -460,12 +460,12 @@
|
|||
"\"/Users/micahgomez/Downloads/iOS-Runtime-Headers-master/PrivateFrameworks\"/**",
|
||||
);
|
||||
INFOPLIST_FILE = FlashBack/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 3.6.1;
|
||||
MARKETING_VERSION = 4;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.FlashBack;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@ -486,12 +486,12 @@
|
|||
"\"/Users/micahgomez/Downloads/iOS-Runtime-Headers-master/PrivateFrameworks\"/**",
|
||||
);
|
||||
INFOPLIST_FILE = FlashBack/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 3.6.1;
|
||||
MARKETING_VERSION = 4;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.FlashBack;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15705" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
|
||||
<device id="retina6_5" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment version="2304" identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15706"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
|
@ -11,21 +11,18 @@
|
|||
<!--View Controller-->
|
||||
<scene sceneID="tne-QT-ifu">
|
||||
<objects>
|
||||
<viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
|
||||
<viewController modalPresentationStyle="fullScreen" id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Select A Backup" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gXr-H3-y6A">
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="Select A Backup" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gXr-H3-y6A">
|
||||
<rect key="frame" x="20" y="152.33333333333334" width="374" height="83"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="83" id="WEB-gW-7us"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="YRz-XN-znu">
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YRz-XN-znu">
|
||||
<rect key="frame" x="0.0" y="-47" width="414" height="174.33333333333334"/>
|
||||
<subviews>
|
||||
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="FlashBack" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="84C-7a-WER">
|
||||
|
@ -34,14 +31,10 @@
|
|||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FKY-5f-bN9">
|
||||
<rect key="frame" x="347" y="111" width="35" height="35"/>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FKY-5f-bN9">
|
||||
<rect key="frame" x="347" y="110.66666666666664" width="35" height="35.333333333333329"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="35" id="KYC-hC-fim" userLabel="width = 35"/>
|
||||
<constraint firstAttribute="height" constant="35" id="NhC-Tm-u51" userLabel="height = 35"/>
|
||||
</constraints>
|
||||
<color key="tintColor" systemColor="linkColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" backgroundImage="create">
|
||||
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -58,10 +51,13 @@
|
|||
</subviews>
|
||||
<color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="FKY-5f-bN9" secondAttribute="trailing" constant="20" id="Jdk-QQ-yzs"/>
|
||||
<constraint firstAttribute="bottom" secondItem="84C-7a-WER" secondAttribute="bottom" constant="16" id="P3j-0T-pEU"/>
|
||||
<constraint firstItem="84C-7a-WER" firstAttribute="leading" secondItem="YRz-XN-znu" secondAttribute="leading" constant="21" id="Xal-aC-rHb"/>
|
||||
<constraint firstAttribute="bottom" secondItem="FKY-5f-bN9" secondAttribute="bottom" constant="20" id="wDN-Ue-6NJ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="FKY-5f-bN9" secondAttribute="trailing" constant="32" id="L3B-Ba-R8n"/>
|
||||
<constraint firstAttribute="bottom" secondItem="84C-7a-WER" secondAttribute="bottom" constant="16" id="Vl5-31-ueG"/>
|
||||
<constraint firstItem="84C-7a-WER" firstAttribute="centerY" secondItem="FKY-5f-bN9" secondAttribute="centerY" id="eqG-GR-mW9"/>
|
||||
<constraint firstItem="84C-7a-WER" firstAttribute="top" secondItem="YRz-XN-znu" secondAttribute="top" constant="98.333333333333343" id="fpe-GE-cHE"/>
|
||||
<constraint firstItem="FKY-5f-bN9" firstAttribute="leading" secondItem="84C-7a-WER" secondAttribute="trailing" constant="87.333333333333371" id="hgT-Om-IGD"/>
|
||||
<constraint firstAttribute="bottom" secondItem="FKY-5f-bN9" secondAttribute="bottom" constant="28.333333333333343" id="qtE-Xt-WjB"/>
|
||||
<constraint firstItem="84C-7a-WER" firstAttribute="leading" secondItem="YRz-XN-znu" secondAttribute="leading" constant="21" id="t1o-I6-eka"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
|
@ -69,39 +65,8 @@
|
|||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<visualEffectView opaque="NO" alpha="0.75" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3iZ-tO-enL">
|
||||
<rect key="frame" x="20" y="241.33333333333334" width="164" height="413.33333333333326"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" id="n8w-C8-2Xw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="164" height="413.33333333333326"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" alpha="0.84999999999999998" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bgimage" translatesAutoresizingMaskIntoConstraints="NO" id="Xdq-a9-Vkk">
|
||||
<rect key="frame" x="0.0" y="0.0" width="164" height="414"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="20"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="centerX" secondItem="n8w-C8-2Xw" secondAttribute="centerX" id="JU7-Aa-9Q0"/>
|
||||
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="centerY" secondItem="n8w-C8-2Xw" secondAttribute="centerY" id="SKZ-jL-rWs"/>
|
||||
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="top" secondItem="n8w-C8-2Xw" secondAttribute="top" id="TrS-Cq-b0D"/>
|
||||
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="leading" secondItem="n8w-C8-2Xw" secondAttribute="leading" id="TvJ-YA-p96"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="164" id="deQ-s3-GTb"/>
|
||||
</constraints>
|
||||
<blurEffect style="light"/>
|
||||
</visualEffectView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j3D-XF-u37">
|
||||
<rect key="frame" x="20" y="812" width="25" height="25"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="25" id="LXF-kg-B1q"/>
|
||||
<constraint firstAttribute="height" constant="25" id="zYE-fR-39z"/>
|
||||
</constraints>
|
||||
<rect key="frame" x="11.666666666666668" y="812" width="33.333333333333329" height="25"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="25"/>
|
||||
<state key="normal" backgroundImage="details"/>
|
||||
<connections>
|
||||
|
@ -111,10 +76,6 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lNN-hV-Kcy">
|
||||
<rect key="frame" x="169" y="682" width="75" height="75"/>
|
||||
<color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="75" id="Rcd-d2-red" userLabel="width = 75"/>
|
||||
<constraint firstAttribute="height" constant="75" id="d3j-Q4-1cW" userLabel="height = 75"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="31"/>
|
||||
<color key="tintColor" red="0.22507366540000001" green="0.48274582620000001" blue="0.83905923370000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" backgroundImage="package"/>
|
||||
|
@ -130,10 +91,6 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="fill" contentVerticalAlignment="fill" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XMB-Cv-YLA">
|
||||
<rect key="frame" x="49" y="682" width="75" height="75"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="75" id="2ju-cX-3np" userLabel="width = 75"/>
|
||||
<constraint firstAttribute="height" constant="75" id="W19-ci-HBM" userLabel="height = 75"/>
|
||||
</constraints>
|
||||
<color key="tintColor" red="0.92126031090000005" green="0.47989189650000003" blue="0.67328914429999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" backgroundImage="restore">
|
||||
<preferredSymbolConfiguration key="preferredSymbolConfiguration" scale="default"/>
|
||||
|
@ -150,10 +107,6 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WN9-tU-bOp">
|
||||
<rect key="frame" x="290" y="682" width="75" height="75"/>
|
||||
<color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="75" id="SuA-zx-61M" userLabel="width = 75"/>
|
||||
<constraint firstAttribute="height" constant="101" id="UPq-aB-R1H" userLabel="height = 75"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="31"/>
|
||||
<color key="tintColor" red="0.73051530119999997" green="0.57675904040000003" blue="0.8395984769" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" backgroundImage="update"/>
|
||||
|
@ -166,7 +119,7 @@
|
|||
<action selector="updateBackup:" destination="BYZ-38-t0r" eventType="touchUpInside" id="Jz6-Fn-uAo"/>
|
||||
</connections>
|
||||
</button>
|
||||
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X4R-sr-2s9">
|
||||
<pickerView contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="X4R-sr-2s9">
|
||||
<rect key="frame" x="192" y="243.33333333333334" width="202" height="411.33333333333326"/>
|
||||
<color key="backgroundColor" red="0.93906646969999996" green="0.57121473550000001" blue="0.4362351894" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
|
@ -183,10 +136,6 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Z44-tn-4Km">
|
||||
<rect key="frame" x="344" y="787" width="50" height="50"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="50" id="DD9-vp-1Li"/>
|
||||
<constraint firstAttribute="height" constant="50" id="Yfh-qR-9H9"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="31"/>
|
||||
<color key="tintColor" systemColor="systemRedColor" red="1" green="0.23137254900000001" blue="0.18823529410000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<state key="normal" backgroundImage="delete"/>
|
||||
|
@ -199,37 +148,80 @@
|
|||
<action selector="deleteBackup:" destination="BYZ-38-t0r" eventType="touchUpInside" id="IGQ-c1-zGW"/>
|
||||
</connections>
|
||||
</button>
|
||||
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="9kU-JM-ZmY">
|
||||
<rect key="frame" x="62" y="809" width="51" height="31"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="49" id="s7C-dz-F30"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="tweaksSwitch:" destination="BYZ-38-t0r" eventType="valueChanged" id="3aN-1C-vfd"/>
|
||||
</connections>
|
||||
</switch>
|
||||
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="K95-HC-udT">
|
||||
<rect key="frame" x="169" y="812" width="51" height="31"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="49" id="mbl-55-imp"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="iconsSwitch:" destination="BYZ-38-t0r" eventType="valueChanged" id="Zjb-7I-kZP"/>
|
||||
</connections>
|
||||
</switch>
|
||||
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="X9U-sY-tNs">
|
||||
<rect key="frame" x="269" y="812" width="51" height="31"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="49" id="7NH-oQ-IJJ"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="wallpaperSwitch:" destination="BYZ-38-t0r" eventType="valueChanged" id="tUf-tG-3Gk"/>
|
||||
</connections>
|
||||
</switch>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" alpha="0.84999999999999998" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="bgimage" translatesAutoresizingMaskIntoConstraints="NO" id="Xdq-a9-Vkk">
|
||||
<rect key="frame" x="20" y="243" width="165" height="412"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="20"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="top" id="1yf-iZ-Z8y"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="centerX" secondItem="gXr-H3-y6A" secondAttribute="centerX" id="5yI-H4-Prz"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="bottom" secondItem="WN9-tU-bOp" secondAttribute="bottom" id="6ZB-Bf-jyH"/>
|
||||
<constraint firstItem="Z44-tn-4Km" firstAttribute="bottom" secondItem="j3D-XF-u37" secondAttribute="bottom" id="808-hO-3rP"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="j3D-XF-u37" secondAttribute="bottom" constant="25" id="EuU-26-P4u"/>
|
||||
<constraint firstItem="WN9-tU-bOp" firstAttribute="leading" secondItem="lNN-hV-Kcy" secondAttribute="trailing" constant="21.666666666666686" id="F3Z-99-YEf"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="3iZ-tO-enL" secondAttribute="bottom" constant="37.999999999999886" id="Hw7-cJ-f1y"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="top" secondItem="YRz-XN-znu" secondAttribute="bottom" constant="31" id="NLx-cb-Z0Y"/>
|
||||
<constraint firstItem="3iZ-tO-enL" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="QOS-5W-kiD"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="trailing" secondItem="8bC-Xf-vdC" secondAttribute="trailingMargin" id="R2H-5X-x8P"/>
|
||||
<constraint firstItem="YRz-XN-znu" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="topMargin" constant="-97" id="Scc-1v-kuH"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="leading" secondItem="3iZ-tO-enL" secondAttribute="leading" id="T5D-8H-hM2"/>
|
||||
<constraint firstItem="X4R-sr-2s9" firstAttribute="leading" secondItem="3iZ-tO-enL" secondAttribute="trailing" constant="8" id="VRb-uM-jSc"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="bottom" secondItem="lNN-hV-Kcy" secondAttribute="bottom" id="XgH-6s-wOW"/>
|
||||
<constraint firstItem="WN9-tU-bOp" firstAttribute="baseline" secondItem="lNN-hV-Kcy" secondAttribute="baseline" id="XiT-po-OdT"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="firstBaseline" secondItem="WN9-tU-bOp" secondAttribute="firstBaseline" id="XuP-8G-Btq"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="lNN-hV-Kcy" secondAttribute="top" id="b62-mP-Zpm"/>
|
||||
<constraint firstItem="Z44-tn-4Km" firstAttribute="trailing" secondItem="X4R-sr-2s9" secondAttribute="trailing" id="bTp-1w-V59"/>
|
||||
<constraint firstItem="X4R-sr-2s9" firstAttribute="top" secondItem="gXr-H3-y6A" secondAttribute="bottom" constant="8" id="cBr-K5-WBl"/>
|
||||
<constraint firstItem="3iZ-tO-enL" firstAttribute="bottom" secondItem="X4R-sr-2s9" secondAttribute="bottom" id="cdA-le-7bt"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="trailing" secondItem="X4R-sr-2s9" secondAttribute="trailing" id="dVX-31-fqP"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="lNN-hV-Kcy" secondAttribute="bottom" constant="94.333333333333371" id="da6-Cp-iCo"/>
|
||||
<constraint firstItem="j3D-XF-u37" firstAttribute="leading" secondItem="3iZ-tO-enL" secondAttribute="leading" id="fam-fG-ISn"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="leading" secondItem="XMB-Cv-YLA" secondAttribute="trailing" constant="20" id="ja6-Q7-zRM"/>
|
||||
<constraint firstItem="3iZ-tO-enL" firstAttribute="top" secondItem="gXr-H3-y6A" secondAttribute="bottom" constant="6" id="kbG-2p-B9N"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leadingMargin" id="nNY-OL-is3"/>
|
||||
<constraint firstItem="YRz-XN-znu" firstAttribute="centerX" secondItem="gXr-H3-y6A" secondAttribute="centerX" id="v8g-3m-yZ1"/>
|
||||
<constraint firstItem="YRz-XN-znu" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="yM9-sD-L7K"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="leading" secondItem="XMB-Cv-YLA" secondAttribute="trailing" constant="45" id="1z6-VA-4Jm"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="bottom" secondItem="lNN-hV-Kcy" secondAttribute="bottom" id="2EK-bf-vB0"/>
|
||||
<constraint firstItem="Z44-tn-4Km" firstAttribute="leading" secondItem="X9U-sY-tNs" secondAttribute="trailing" constant="26" id="2Zu-ZC-1Yb"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="bottom" secondItem="WN9-tU-bOp" secondAttribute="bottom" id="5F8-RZ-4c2"/>
|
||||
<constraint firstItem="j3D-XF-u37" firstAttribute="top" secondItem="K95-HC-udT" secondAttribute="top" id="5UC-o7-76C"/>
|
||||
<constraint firstItem="X4R-sr-2s9" firstAttribute="trailing" secondItem="Z44-tn-4Km" secondAttribute="trailing" id="8Y7-yg-aAw"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="49" id="8ya-0r-GpF"/>
|
||||
<constraint firstItem="j3D-XF-u37" firstAttribute="centerY" secondItem="9kU-JM-ZmY" secondAttribute="centerY" id="9ST-g4-hVd"/>
|
||||
<constraint firstItem="X4R-sr-2s9" firstAttribute="centerX" secondItem="X9U-sY-tNs" secondAttribute="centerX" id="AZS-g4-nFk"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="centerX" secondItem="lNN-hV-Kcy" secondAttribute="centerX" id="B6P-mh-ikw"/>
|
||||
<constraint firstItem="j3D-XF-u37" firstAttribute="bottom" secondItem="Z44-tn-4Km" secondAttribute="bottom" id="DuK-WW-81x"/>
|
||||
<constraint firstItem="9kU-JM-ZmY" firstAttribute="leading" secondItem="j3D-XF-u37" secondAttribute="trailing" constant="17" id="GdA-fU-Jct"/>
|
||||
<constraint firstItem="K95-HC-udT" firstAttribute="leading" secondItem="9kU-JM-ZmY" secondAttribute="trailing" constant="58" id="HOy-nq-uvm"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="leading" secondItem="K95-HC-udT" secondAttribute="leading" id="KOj-1k-RSC"/>
|
||||
<constraint firstItem="WN9-tU-bOp" firstAttribute="baseline" secondItem="lNN-hV-Kcy" secondAttribute="baseline" id="KP0-Es-MAO"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="top" secondItem="YRz-XN-znu" secondAttribute="bottom" constant="25" id="Lx3-2W-Yf4"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="trailing" secondItem="X4R-sr-2s9" secondAttribute="trailing" id="MI0-dk-jn6"/>
|
||||
<constraint firstItem="9kU-JM-ZmY" firstAttribute="top" secondItem="XMB-Cv-YLA" secondAttribute="bottom" constant="52" id="NKe-2R-HJ7"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="WN9-tU-bOp" secondAttribute="trailing" constant="49" id="PnR-uX-lXp"/>
|
||||
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="K95-HC-udT" secondAttribute="bottom" constant="19" id="Qmw-5v-ip3"/>
|
||||
<constraint firstItem="Z44-tn-4Km" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="bottom" constant="30" id="RJ2-za-cuR"/>
|
||||
<constraint firstItem="K95-HC-udT" firstAttribute="top" secondItem="X9U-sY-tNs" secondAttribute="top" id="ges-Hw-caM"/>
|
||||
<constraint firstItem="WN9-tU-bOp" firstAttribute="firstBaseline" secondItem="lNN-hV-Kcy" secondAttribute="firstBaseline" id="i5I-co-MwE"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="lNN-hV-Kcy" secondAttribute="top" id="i8h-oN-Vfa"/>
|
||||
<constraint firstItem="YRz-XN-znu" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="iNG-1m-uSS"/>
|
||||
<constraint firstItem="X4R-sr-2s9" firstAttribute="top" secondItem="gXr-H3-y6A" secondAttribute="bottom" constant="8.0000000000000284" id="jzR-DP-s5H"/>
|
||||
<constraint firstItem="XMB-Cv-YLA" firstAttribute="centerX" secondItem="9kU-JM-ZmY" secondAttribute="centerX" id="leX-T2-vb7"/>
|
||||
<constraint firstItem="YRz-XN-znu" firstAttribute="centerX" secondItem="gXr-H3-y6A" secondAttribute="centerX" id="nhQ-sC-qr3"/>
|
||||
<constraint firstItem="lNN-hV-Kcy" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="top" id="pM9-e9-agf"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leadingMargin" id="sG5-9v-ylP"/>
|
||||
<constraint firstItem="K95-HC-udT" firstAttribute="top" secondItem="lNN-hV-Kcy" secondAttribute="bottom" constant="55" id="sju-aF-t6V"/>
|
||||
<constraint firstItem="X9U-sY-tNs" firstAttribute="leading" secondItem="K95-HC-udT" secondAttribute="trailing" constant="51" id="t3n-RU-S60"/>
|
||||
<constraint firstItem="YRz-XN-znu" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="topMargin" constant="-91" id="tqR-j7-T3e"/>
|
||||
<constraint firstItem="gXr-H3-y6A" firstAttribute="trailing" secondItem="8bC-Xf-vdC" secondAttribute="trailingMargin" id="uMZ-DY-kLB"/>
|
||||
<constraint firstItem="WN9-tU-bOp" firstAttribute="leading" secondItem="lNN-hV-Kcy" secondAttribute="trailing" constant="46" id="wuP-Ls-71j"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
</view>
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>FlashBack needs access to photos so the user can select the wallpapers to be applied</string>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
|
|
|
@ -12,30 +12,78 @@
|
|||
#include "NSTask.h"
|
||||
#import "InternalSetWallpaper.h"
|
||||
#import "UIImage+Private.h"
|
||||
#import <Photos/Photos.h>
|
||||
|
||||
@interface ViewController ()
|
||||
|
||||
@interface ViewController () <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
|
||||
@end
|
||||
|
||||
BOOL trial;
|
||||
BOOL tweaksEnabled = YES;
|
||||
NSString *stringTweaksEnabled = @"YES";
|
||||
BOOL iconsEnabled = YES;
|
||||
NSString *stringIconsEnabled = @"YES";
|
||||
BOOL wallpaperEnabled = YES;
|
||||
NSString *stringWallpaperEnabled = @"YES";
|
||||
|
||||
NSArray *_backupFolderArray;
|
||||
NSString *_backupDirectory;
|
||||
NSMutableString *sysCopyPrefsPath;
|
||||
NSMutableString *sysCopySBPath;
|
||||
NSMutableString *newBackupPrefsPath;
|
||||
NSArray *_springBoardFolderItemsRaw;
|
||||
NSArray *_filteredSpringBoardFolderItems;
|
||||
NSMutableString *newBackupSBPath;
|
||||
NSMutableString *newBackupWPPath;
|
||||
NSArray *_prefsFolderItemsRaw;
|
||||
NSArray *_sbFolderItemsRaw;
|
||||
NSArray *_filteredPrefsFolderItems;
|
||||
NSArray *_filteredSBFolderItems;
|
||||
NSMutableString *selectedBackupImageURL;
|
||||
NSMutableString *selectedBackupURL;
|
||||
NSString *backupNameSelected;
|
||||
|
||||
int selectedWallpaperStyle;
|
||||
|
||||
NSMutableString *lightHomeWPPath;
|
||||
NSMutableString *darkHomeWPPath;
|
||||
NSMutableString *lightLockWPPath;
|
||||
NSMutableString *darkLockWPPath;
|
||||
|
||||
UIImage *lightHome;
|
||||
UIImage *darkHome;
|
||||
UIImage *lightLock;
|
||||
UIImage *darkLock;
|
||||
|
||||
|
||||
|
||||
@implementation ViewController
|
||||
|
||||
- (IBAction)tweaksSwitch:(id)sender {
|
||||
|
||||
tweaksEnabled = [sender isOn];
|
||||
stringTweaksEnabled = tweaksEnabled == YES ? @"YES" : @"NO";
|
||||
NSLog(@"%@", stringTweaksEnabled);
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)iconsSwitch:(id)sender {
|
||||
|
||||
iconsEnabled = [sender isOn];
|
||||
stringIconsEnabled = iconsEnabled == YES ? @"YES" : @"NO";
|
||||
NSLog(@"%@", stringIconsEnabled);
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)wallpaperSwitch:(id)sender {
|
||||
|
||||
wallpaperEnabled = [sender isOn];
|
||||
stringWallpaperEnabled = wallpaperEnabled == YES ? @"YES" : @"NO";
|
||||
NSLog(@"%@", stringWallpaperEnabled);
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)createBackup:(id)sender {
|
||||
|
||||
UIAlertController *createBackupAlert = [UIAlertController alertControllerWithTitle:@"Enter the Backup Name" message:@"Please do not use special symbols. Use only letters and numbers, no spaces." preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
[createBackupAlert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
|
||||
textField.placeholder = @"Backup Name";
|
||||
textField.secureTextEntry = NO;
|
||||
|
@ -50,27 +98,26 @@ UIImage *darkHome;
|
|||
else{
|
||||
NSLog(@"Creating Backup");
|
||||
|
||||
|
||||
//MARK: Create Backup Code
|
||||
|
||||
_springBoardFolderItemsRaw = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/var/mobile/Library/Preferences/" error:nil];
|
||||
|
||||
NSLog(@"_SpringBoardFolderItemsRaw:%@", _springBoardFolderItemsRaw);
|
||||
//MARK: Backup preferences
|
||||
if(tweaksEnabled == YES){
|
||||
_prefsFolderItemsRaw = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/var/mobile/Library/Preferences/" error:nil];
|
||||
|
||||
NSLog(@"_prefsFolderItemsRaw:%@", _prefsFolderItemsRaw);
|
||||
|
||||
NSPredicate *notApplePlistPredicate = [NSPredicate predicateWithFormat:@"NOT(SELF contains[c] 'apple')"];
|
||||
//NSPredicate *isPlistPredicate = [NSPredicate predicateWithFormat:@"SELF endswith[c] '.plist'"];
|
||||
NSPredicate *isPrefsPredicate = [NSPredicate predicateWithFormat:@"SELF LIKE[c] '*.*.*.plist'"];
|
||||
|
||||
NSArray *_filteredSpringBoardFolderItems = [_springBoardFolderItemsRaw filteredArrayUsingPredicate:notApplePlistPredicate];
|
||||
//_filteredSpringBoardFolderItems = [_filteredSpringBoardFolderItems filteredArrayUsingPredicate:isPlistPredicate];
|
||||
_filteredSpringBoardFolderItems = [_filteredSpringBoardFolderItems filteredArrayUsingPredicate:isPrefsPredicate];
|
||||
NSArray *_filteredPrefsFolderItems = [_prefsFolderItemsRaw filteredArrayUsingPredicate:notApplePlistPredicate];
|
||||
//_filteredPrefsFolderItems = [_filteredPrefsFolderItems filteredArrayUsingPredicate:isPlistPredicate];
|
||||
_filteredPrefsFolderItems = [_filteredPrefsFolderItems filteredArrayUsingPredicate:isPrefsPredicate];
|
||||
|
||||
NSLog(@"_SpringBoardFolderItems:%@", _filteredSpringBoardFolderItems);
|
||||
NSLog(@"_prefsFolderItems:%@", _filteredPrefsFolderItems);
|
||||
|
||||
|
||||
|
||||
for (id file in _filteredSpringBoardFolderItems){
|
||||
for (id file in _filteredPrefsFolderItems){
|
||||
|
||||
sysCopyPrefsPath = [NSMutableString stringWithString: @"/private/var/mobile/Library/Preferences/"];
|
||||
[sysCopyPrefsPath appendString: file];
|
||||
|
@ -98,17 +145,93 @@ UIImage *darkHome;
|
|||
} else {
|
||||
NSLog (@"Copy failed - %@", file);
|
||||
}
|
||||
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
//MARK: End backup preferences
|
||||
//MARK: Backup Springboard
|
||||
if(iconsEnabled == YES){
|
||||
|
||||
_sbFolderItemsRaw = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/var/mobile/Library/SpringBoard/" error:nil];
|
||||
|
||||
NSLog(@"_sbFolderItemsRaw:%@", _sbFolderItemsRaw);
|
||||
|
||||
NSPredicate *isIconPlistPredicate = [NSPredicate predicateWithFormat:@"(SELF contains[c] 'icon')"];
|
||||
//NSPredicate *isPlistPredicate = [NSPredicate predicateWithFormat:@"SELF endswith[c] '.plist'"];
|
||||
//NSPredicate *isPrefsPredicate = [NSPredicate predicateWithFormat:@"SELF LIKE[c] '*.*.*.plist'"];
|
||||
|
||||
NSArray *_filteredSBFolderItems = [_sbFolderItemsRaw filteredArrayUsingPredicate:isIconPlistPredicate];
|
||||
//_filteredPrefsFolderItems = [_filteredPrefsFolderItems filteredArrayUsingPredicate:isPlistPredicate];
|
||||
//_filteredPrefsFolderItems = [_filteredPrefsFolderItems filteredArrayUsingPredicate:isPrefsPredicate];
|
||||
|
||||
NSLog(@"_sbFolderItems:%@", _filteredSBFolderItems);
|
||||
|
||||
|
||||
/*NSTask *createTask = [[NSTask alloc] init];
|
||||
[createTask setLaunchPath:@"/bin/bash"];
|
||||
[createTask setArguments:@[ @"FBCreate", newBackupName]];
|
||||
[createTask launch];
|
||||
[createTask waitUntilExit];*/
|
||||
for (id file in _filteredSBFolderItems){
|
||||
|
||||
sysCopySBPath = [NSMutableString stringWithString: @"/private/var/mobile/Library/SpringBoard/"];
|
||||
[sysCopySBPath appendString: file];
|
||||
|
||||
NSLog(@"File_Old_Location:%@", sysCopySBPath);
|
||||
|
||||
//newBackupPrefsPath = [NSMutableString stringWithString: @"/private/var/mobile/Documents/FlashBack/Backups/"];
|
||||
newBackupSBPath = [NSMutableString stringWithString: @"/Library/FlashBack/Backups/"];
|
||||
[newBackupSBPath appendString: newBackupName];
|
||||
[newBackupSBPath appendString: @"/SpringBoard/"];
|
||||
[[NSFileManager defaultManager] createDirectoryAtPath:newBackupSBPath withIntermediateDirectories:YES attributes:nil error:NULL];
|
||||
[newBackupSBPath appendString: file];
|
||||
|
||||
NSLog(@"File_New_Location:%@", newBackupSBPath);
|
||||
|
||||
NSURL *sysCopySBPathURL = [NSURL fileURLWithPath:sysCopySBPath];
|
||||
NSURL *newBackupSBPathURL = [NSURL fileURLWithPath:newBackupSBPath];
|
||||
|
||||
|
||||
//if ( ([[NSFileManager defaultManager] isReadableFileAtPath:sysCopyPrefsPath]) && ([[NSFileManager defaultManager] isWritableFileAtPath:newBackupPrefsPath]) ){
|
||||
|
||||
NSLog(@"Copying:%@", file);
|
||||
if ([[NSFileManager defaultManager] copyItemAtURL:sysCopySBPathURL toURL:newBackupSBPathURL error:nil] == YES) {
|
||||
NSLog (@"Copy successful - %@", file);
|
||||
} else {
|
||||
NSLog (@"Copy failed - %@", file);
|
||||
}
|
||||
}
|
||||
}
|
||||
//MARK: End backup Springboard
|
||||
|
||||
/*
|
||||
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
|
||||
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
picker.delegate = self;
|
||||
[self presentViewController:picker animated:YES completion:NULL];
|
||||
*/
|
||||
|
||||
//MARK: Backup Wallpapers
|
||||
if(wallpaperEnabled == YES){
|
||||
|
||||
newBackupWPPath = [NSMutableString stringWithString: @"/Library/FlashBack/Backups/"];
|
||||
[newBackupWPPath appendString: newBackupName];
|
||||
[newBackupWPPath appendString: @"/Wallpaper/"];
|
||||
[[NSFileManager defaultManager] createDirectoryAtPath:newBackupWPPath withIntermediateDirectories:YES attributes:nil error:NULL];
|
||||
|
||||
lightHomeWPPath = [NSMutableString stringWithString: newBackupWPPath];
|
||||
[lightHomeWPPath appendString: @"lightHomeWP.png"];
|
||||
NSLog(@"%@", lightHomeWPPath);
|
||||
|
||||
darkHomeWPPath = [NSMutableString stringWithString: newBackupWPPath];
|
||||
[darkHomeWPPath appendString: @"darkHomeWP.png"];
|
||||
NSLog(@"%@", darkHomeWPPath);
|
||||
|
||||
lightLockWPPath = [NSMutableString stringWithString: newBackupWPPath];
|
||||
[lightLockWPPath appendString: @"lightLockWP.png"];
|
||||
NSLog(@"%@", lightLockWPPath);
|
||||
|
||||
darkLockWPPath = [NSMutableString stringWithString: newBackupWPPath];
|
||||
[darkLockWPPath appendString: @"darkLockWP.png"];
|
||||
NSLog(@"%@", darkLockWPPath);
|
||||
|
||||
[self selectWallpaperImageFunc];
|
||||
}
|
||||
//MARK: End backup wallpapers
|
||||
|
||||
UIAlertController * finishedCreateAlert= [UIAlertController
|
||||
alertControllerWithTitle:@"Backup Creation Completed"
|
||||
|
@ -131,12 +254,6 @@ UIImage *darkHome;
|
|||
|
||||
[self presentViewController:finishedCreateAlert animated:YES completion:nil];
|
||||
|
||||
/*pid_t pid;
|
||||
int status;
|
||||
const char* args[] = {"killall", "backboardd", NULL, NULL};
|
||||
posix_spawn(&pid, "/bin/bash", NULL, NULL, (char* const*)args, NULL);
|
||||
waitpid(pid, &status, WEXITED);*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -149,6 +266,174 @@ UIImage *darkHome;
|
|||
[self presentViewController:createBackupAlert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
//MARK: Wallpaper selection code
|
||||
-(void)selectWallpaperImageFunc{
|
||||
UIAlertController *wallpaperSelectionAlert = [UIAlertController alertControllerWithTitle:@"Select Setup Wallpapers" message:@"Choose the wallpapers to apply for both Light and Dark mode on the Home and Lock Screen." preferredStyle:UIAlertControllerStyleActionSheet];
|
||||
UIAlertAction* lightHomeAction = [UIAlertAction actionWithTitle:@"Light Mode Home Screen"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {
|
||||
selectedWallpaperStyle = 1;
|
||||
|
||||
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
|
||||
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
picker.delegate = self;
|
||||
self.modalInPresentation = YES;
|
||||
[self presentViewController:picker animated:YES completion:nil];
|
||||
}];
|
||||
UIAlertAction* darkHomeAction = [UIAlertAction actionWithTitle:@"Dark Mode Home Screen"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {
|
||||
selectedWallpaperStyle = 2;
|
||||
|
||||
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
|
||||
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
picker.delegate = self;
|
||||
self.modalInPresentation = YES;
|
||||
[self presentViewController:picker animated:YES completion:nil];
|
||||
}];
|
||||
UIAlertAction* lightLockAction = [UIAlertAction actionWithTitle:@"Light Mode Lock Screen"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {
|
||||
selectedWallpaperStyle = 3;
|
||||
|
||||
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
|
||||
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
picker.delegate = self;
|
||||
self.modalInPresentation = YES;
|
||||
[self presentViewController:picker animated:YES completion:nil];
|
||||
}];
|
||||
UIAlertAction* darkLockAction = [UIAlertAction actionWithTitle:@"Dark Mode Lock Screen"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {
|
||||
selectedWallpaperStyle = 4;
|
||||
|
||||
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
|
||||
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
|
||||
picker.delegate = self;
|
||||
self.modalInPresentation = YES;
|
||||
[self presentViewController:picker animated:NO completion:nil];
|
||||
}];
|
||||
UIAlertAction* doneAction = [UIAlertAction actionWithTitle:@"Done"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {
|
||||
|
||||
if((lightHome == nil) || (darkHome == nil) || (lightLock == nil) || (darkLock == nil)){
|
||||
UIAlertController * finishedCreateAlert= [UIAlertController
|
||||
alertControllerWithTitle:@"Backup Creation Error"
|
||||
message:@"The wallpapers were unable to be backed up. Please try again and make sure that all wallpapers are set before pressing done."
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* ok = [UIAlertAction
|
||||
actionWithTitle:@"OK"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action)
|
||||
{
|
||||
_backupFolderArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/Library/FlashBack/Backups/" error:nil];
|
||||
[self->selectedBackupPickerView reloadAllComponents];
|
||||
[finishedCreateAlert dismissViewControllerAnimated:YES completion:nil];
|
||||
|
||||
}];
|
||||
[finishedCreateAlert addAction:ok];
|
||||
|
||||
[self presentViewController:finishedCreateAlert animated:YES completion:nil];
|
||||
}
|
||||
else{
|
||||
[UIImagePNGRepresentation(lightHome) writeToFile:lightHomeWPPath atomically:YES];
|
||||
[UIImagePNGRepresentation(darkHome) writeToFile:darkHomeWPPath atomically:YES];
|
||||
[UIImagePNGRepresentation(lightLock) writeToFile:lightLockWPPath atomically:YES];
|
||||
[UIImagePNGRepresentation(darkLock) writeToFile:darkLockWPPath atomically:YES];
|
||||
[wallpaperSelectionAlert dismissViewControllerAnimated:YES completion:nil];
|
||||
|
||||
UIAlertController * finishedCreateAlert= [UIAlertController
|
||||
alertControllerWithTitle:@"Backup Creation Completed"
|
||||
message:@"The backup has been successfully created"
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* ok = [UIAlertAction
|
||||
actionWithTitle:@"OK"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action)
|
||||
{
|
||||
|
||||
_backupFolderArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/Library/FlashBack/Backups/" error:nil];
|
||||
[self->selectedBackupPickerView reloadAllComponents];
|
||||
|
||||
[finishedCreateAlert dismissViewControllerAnimated:YES completion:nil];
|
||||
|
||||
}];
|
||||
[finishedCreateAlert addAction:ok];
|
||||
|
||||
[self presentViewController:finishedCreateAlert animated:YES completion:nil];
|
||||
}
|
||||
}];
|
||||
UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel"
|
||||
style:UIAlertActionStyleCancel
|
||||
handler:^(UIAlertAction * action) {
|
||||
UIAlertController * finishedCreateAlert= [UIAlertController
|
||||
alertControllerWithTitle:@"Backup Creation Completed"
|
||||
message:@"The backup has been successfully created without any wallpapers"
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* ok = [UIAlertAction
|
||||
actionWithTitle:@"OK"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action)
|
||||
{
|
||||
|
||||
_backupFolderArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/Library/FlashBack/Backups/" error:nil];
|
||||
[self->selectedBackupPickerView reloadAllComponents];
|
||||
|
||||
[finishedCreateAlert dismissViewControllerAnimated:YES completion:nil];
|
||||
|
||||
}];
|
||||
[finishedCreateAlert addAction:ok];
|
||||
|
||||
[self presentViewController:finishedCreateAlert animated:YES completion:nil];
|
||||
}];
|
||||
[wallpaperSelectionAlert addAction:lightHomeAction];
|
||||
[wallpaperSelectionAlert addAction:lightLockAction];
|
||||
[wallpaperSelectionAlert addAction:darkHomeAction];
|
||||
[wallpaperSelectionAlert addAction:darkLockAction];
|
||||
[wallpaperSelectionAlert addAction:doneAction];
|
||||
[wallpaperSelectionAlert addAction:cancel];
|
||||
[self presentViewController:wallpaperSelectionAlert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info
|
||||
{
|
||||
|
||||
|
||||
switch (selectedWallpaperStyle) {
|
||||
case 1:
|
||||
lightHome = info[UIImagePickerControllerOriginalImage];
|
||||
break;
|
||||
case 2:
|
||||
darkHome = info[UIImagePickerControllerOriginalImage];
|
||||
break;
|
||||
case 3:
|
||||
lightLock = info[UIImagePickerControllerOriginalImage];
|
||||
break;
|
||||
case 4:
|
||||
darkLock = info[UIImagePickerControllerOriginalImage];
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
[picker dismissViewControllerAnimated:YES completion:nil];
|
||||
[self selectWallpaperImageFunc];
|
||||
}
|
||||
|
||||
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
|
||||
{
|
||||
NSLog(@"picker cancelled");
|
||||
[picker dismissViewControllerAnimated:YES completion:nil];
|
||||
[self selectWallpaperImageFunc];
|
||||
}
|
||||
|
||||
//MARK: End wallpaper selection code
|
||||
|
||||
- (IBAction)restoreBackup:(id)sender {
|
||||
|
||||
lightHome = [UIImage imageWithContentsOfFile:@"/Library/FlashBack/Backups/3/SBFolder/LockBackgroundThumbnail.jpg"];
|
||||
|
@ -661,7 +946,7 @@ UIImage *darkHome;
|
|||
|
||||
selectedBackupImageURL=selectedBackupURL;
|
||||
|
||||
[selectedBackupImageURL appendString: @"/SBFolder/LockBackgroundThumbnail.jpg"];
|
||||
[selectedBackupImageURL appendString: @"/Wallpaper/lightHomeWP.png"];
|
||||
NSLog(@"%@", selectedBackupImageURL);
|
||||
NSURL *url = [NSURL fileURLWithPath:selectedBackupImageURL];
|
||||
NSData *data = [NSData dataWithContentsOfURL:url];
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -4,109 +4,41 @@
|
|||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>AppIcon20x20@2x.png</key>
|
||||
<data>
|
||||
jZyD4lShV7O/wgRPVNSmU67Pv5I=
|
||||
</data>
|
||||
<key>AppIcon20x20@2x~ipad.png</key>
|
||||
<data>
|
||||
jZyD4lShV7O/wgRPVNSmU67Pv5I=
|
||||
</data>
|
||||
<key>AppIcon20x20@3x.png</key>
|
||||
<data>
|
||||
d7vuwp0TbAvzIaypq74eH3jBVkQ=
|
||||
</data>
|
||||
<key>AppIcon20x20~ipad.png</key>
|
||||
<data>
|
||||
sIs7Y4GMQU8IAZtdG1bn6X+y97Y=
|
||||
</data>
|
||||
<key>AppIcon29x29@2x.png</key>
|
||||
<data>
|
||||
8kMzIG/CmN1TRtPk1Vv1/GDApXg=
|
||||
</data>
|
||||
<key>AppIcon29x29@2x~ipad.png</key>
|
||||
<data>
|
||||
8kMzIG/CmN1TRtPk1Vv1/GDApXg=
|
||||
</data>
|
||||
<key>AppIcon29x29@3x.png</key>
|
||||
<data>
|
||||
TrmYvTOSx6p742RA6FMfBNzW9fQ=
|
||||
</data>
|
||||
<key>AppIcon29x29~ipad.png</key>
|
||||
<data>
|
||||
QUrVTwvUNkptNRY+z143TYdxY2A=
|
||||
</data>
|
||||
<key>AppIcon40x40@2x.png</key>
|
||||
<data>
|
||||
r1cTH5Tvd5tZ6ZvoD4uLuCulvNI=
|
||||
</data>
|
||||
<key>AppIcon40x40@2x~ipad.png</key>
|
||||
<data>
|
||||
r1cTH5Tvd5tZ6ZvoD4uLuCulvNI=
|
||||
</data>
|
||||
<key>AppIcon40x40@3x.png</key>
|
||||
<data>
|
||||
Myhbo34Mzba1Vd2A/DUUSJxnVD4=
|
||||
</data>
|
||||
<key>AppIcon40x40~ipad.png</key>
|
||||
<data>
|
||||
jZyD4lShV7O/wgRPVNSmU67Pv5I=
|
||||
</data>
|
||||
<key>AppIcon60x60@2x.png</key>
|
||||
<data>
|
||||
Myhbo34Mzba1Vd2A/DUUSJxnVD4=
|
||||
</data>
|
||||
<key>AppIcon60x60@3x.png</key>
|
||||
<data>
|
||||
U9lg64M0cAXEeI13sPfcfemfBFo=
|
||||
</data>
|
||||
<key>AppIcon76x76@2x~ipad.png</key>
|
||||
<data>
|
||||
tPVGmcsOfSKzncF+8Kb2FIP2knA=
|
||||
</data>
|
||||
<key>AppIcon76x76~ipad.png</key>
|
||||
<data>
|
||||
ybwmktN2/6AjCh8Rr47uCen4M9c=
|
||||
</data>
|
||||
<key>AppIcon83.5x83.5@2x~ipad.png</key>
|
||||
<data>
|
||||
ue/XZU9Z3G/C3A+Zq76KGZlAMck=
|
||||
</data>
|
||||
<key>Assets.car</key>
|
||||
<data>
|
||||
ImJz/XEPmoSJqCwQYG00Cgi7RyQ=
|
||||
Krc89ZxgZU4NnvVLhXhIHWvtpmU=
|
||||
</data>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib/objects-13.0+.nib</key>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
|
||||
<data>
|
||||
l5XjqZtyHimuVoTcGZuvcFx9OyU=
|
||||
</data>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib/runtime.nib</key>
|
||||
<data>
|
||||
ofw6Idv2M3pc2XcI12eQrHw2t6E=
|
||||
R+d6CDBkcAwx9QItyDTH6sIe5rA=
|
||||
</data>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/Info.plist</key>
|
||||
<data>
|
||||
n2t8gsDpfE6XkhG31p7IQJRxTxU=
|
||||
</data>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib/objects-13.0+.nib</key>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib</key>
|
||||
<data>
|
||||
ULVU2MW4JFPQVEOj7KgAwhm5GF0=
|
||||
</data>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib/runtime.nib</key>
|
||||
<data>
|
||||
N+Wz6OfI9Momo3bcwX8GEJTscEE=
|
||||
DVNg6tcs0TATd+CQeWtYldBxZI8=
|
||||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib/objects-11.0+.nib</key>
|
||||
<data>
|
||||
N3PA1wcMe+fxiblw3gCX8nz8gYo=
|
||||
5Np+q5sNW2goFvT3xa95+eHbXCw=
|
||||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib/objects-13.0+.nib</key>
|
||||
<data>
|
||||
KP/3A5NqslHLb/kvTIwJvoZyw00=
|
||||
qpqVLdSwc7qNeFXzZYMiVYlzysk=
|
||||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib/runtime.nib</key>
|
||||
<data>
|
||||
t20YxFQRSLb3x5dJdwAg4vAzVyE=
|
||||
WdpzqeJ4TLtQAOzDqGYZG9GR6tg=
|
||||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/Info.plist</key>
|
||||
<data>
|
||||
|
@ -114,19 +46,19 @@
|
|||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib/objects-11.0+.nib</key>
|
||||
<data>
|
||||
Y9a1GaKTRUosUcKwf6iBfugEkm0=
|
||||
9F7MwXutxU82RUxMcMVtEbBOURg=
|
||||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib/objects-13.0+.nib</key>
|
||||
<data>
|
||||
0L3wrkkozWdsDpWNMIK4OprQO7Q=
|
||||
uJG7uDPeiE6Er32Rxhzd4e3RnHg=
|
||||
</data>
|
||||
<key>Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib/runtime.nib</key>
|
||||
<data>
|
||||
5khYZGe3mcP3nwnsnW9Msh0A0MQ=
|
||||
fLNipL3cf8WoCzDpBFCyywN4nQM=
|
||||
</data>
|
||||
<key>Info.plist</key>
|
||||
<data>
|
||||
6As4G7OLF5RTkoWFULstuFmVTB0=
|
||||
WzSIzvBQ/qTrPeZHwBahA6CjmCk=
|
||||
</data>
|
||||
<key>PkgInfo</key>
|
||||
<data>
|
||||
|
@ -134,303 +66,76 @@
|
|||
</data>
|
||||
<key>embedded.mobileprovision</key>
|
||||
<data>
|
||||
85kRWtTHuvaEu8gHQR7nCwEVWic=
|
||||
Oix9XPIMVhOC2qZ7UlTFwp2/xy0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>AppIcon20x20@2x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
jZyD4lShV7O/wgRPVNSmU67Pv5I=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
wGFS4hvcQiEs1++YFVLEcYdltD2SZZGRebRrQeo+bUQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon20x20@2x~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
jZyD4lShV7O/wgRPVNSmU67Pv5I=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
wGFS4hvcQiEs1++YFVLEcYdltD2SZZGRebRrQeo+bUQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon20x20@3x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
d7vuwp0TbAvzIaypq74eH3jBVkQ=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
UwBUS/1xWyMvr9xJ2LA264u+3jXAiX8CbVTQ9VuW2Vg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon20x20~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
sIs7Y4GMQU8IAZtdG1bn6X+y97Y=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/3TsU0uhTg6EC/ICN9HRfpkkuUrNBHF1qDiufStaSA0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon29x29@2x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
8kMzIG/CmN1TRtPk1Vv1/GDApXg=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
719KrHgMg7+fLDT1Fqa1JgEcJzWQWug5M6t1y3uVYRo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon29x29@2x~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
8kMzIG/CmN1TRtPk1Vv1/GDApXg=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
719KrHgMg7+fLDT1Fqa1JgEcJzWQWug5M6t1y3uVYRo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon29x29@3x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
TrmYvTOSx6p742RA6FMfBNzW9fQ=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
NGFywZs0oJRaE3Yp3vuXbCXRdYnVM2pVyoTneD8fWT8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon29x29~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
QUrVTwvUNkptNRY+z143TYdxY2A=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
1uR1l3KxlncA3zh47x3ROCwnfn5lnRN8m64PKN0JtKs=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon40x40@2x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
r1cTH5Tvd5tZ6ZvoD4uLuCulvNI=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
LpFwCHHOGjFChD79M0ZzHnXA05UwB3twSDPrmAJHwCE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon40x40@2x~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
r1cTH5Tvd5tZ6ZvoD4uLuCulvNI=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
LpFwCHHOGjFChD79M0ZzHnXA05UwB3twSDPrmAJHwCE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon40x40@3x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
Myhbo34Mzba1Vd2A/DUUSJxnVD4=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
hMxJFn2Q8X2CHF5SnOE8+l9CeQaATCxnDstbs3mN4Rs=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon40x40~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
jZyD4lShV7O/wgRPVNSmU67Pv5I=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
wGFS4hvcQiEs1++YFVLEcYdltD2SZZGRebRrQeo+bUQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon60x60@2x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
Myhbo34Mzba1Vd2A/DUUSJxnVD4=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
hMxJFn2Q8X2CHF5SnOE8+l9CeQaATCxnDstbs3mN4Rs=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon60x60@3x.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
U9lg64M0cAXEeI13sPfcfemfBFo=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/JnQ6AOKCOUa7iyX4kSPEdLr+VoMDb7u5gWIWHp29PE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon76x76@2x~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
tPVGmcsOfSKzncF+8Kb2FIP2knA=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
nx4xIL57Q8apHQidIHkz+NQKHjXYqt4f2sO7xzhjVTc=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon76x76~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
ybwmktN2/6AjCh8Rr47uCen4M9c=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
j1As6YrqZGHbXtX8f8RmNNPPQ3CM3PyHg30hWI5ECHc=
|
||||
</data>
|
||||
</dict>
|
||||
<key>AppIcon83.5x83.5@2x~ipad.png</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
ue/XZU9Z3G/C3A+Zq76KGZlAMck=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
vlen812bLd/4TGTY4lLOW6MEV+KAyb/9d1RR0RmBho0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Assets.car</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
ImJz/XEPmoSJqCwQYG00Cgi7RyQ=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
p/KVm31KNhUF7x635aYTprnw1qun88j+JPs/ZaUKFEE=
|
||||
aIRNdnGpEQCWoyK0E8fojsSifgSwMYUFMUPSuAL6dC0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib/objects-13.0+.nib</key>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
l5XjqZtyHimuVoTcGZuvcFx9OyU=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
PZntXE6D9ByUyb+9+lyyEe7/9vfdgwHXsQvTO8NbpJc=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib/runtime.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
ofw6Idv2M3pc2XcI12eQrHw2t6E=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
poCd7cj94yTMVjgz8JpPvgqttsouq+TDNzIM95H1Mbo=
|
||||
SSu1d2sRc7dQstKpTVve6hJL204Omjs76i1jfTxKDog=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
n2t8gsDpfE6XkhG31p7IQJRxTxU=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
HyVdXMU7Ux4/KalAao30mpWOK/lEPT4gvYN09wf31cg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib/objects-13.0+.nib</key>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
ULVU2MW4JFPQVEOj7KgAwhm5GF0=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
t7bdRwS8hJi3Q95LNa0yrIFUCuenmoKfHqyVndUjHy8=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib/runtime.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
N+Wz6OfI9Momo3bcwX8GEJTscEE=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
IZYm5ozx9opIsriqpKZxk6vEjNDZbjSEgNVSl6C7Of8=
|
||||
20NUGaajIa4VaBW27xP1Crh+2gB5ylcfT9P2vFS/vJE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib/objects-11.0+.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
N3PA1wcMe+fxiblw3gCX8nz8gYo=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
Keb76x/ruvqSluBD5Ul2oSJbC+GRKL6HrUN6ON7ZP4c=
|
||||
LyAD4F9fQRt4C7s8FBHQgM1OA2j33Hr7hLcZ7DnxIDM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib/objects-13.0+.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
KP/3A5NqslHLb/kvTIwJvoZyw00=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
s7r7x1bGOlanCORTsbKY+po4r1ZVKv9MioedKcgDncc=
|
||||
vb3yaEYsEFOsYjJTcnxxZIb9TZoyq0z41ofQQK8aOVE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib/runtime.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
t20YxFQRSLb3x5dJdwAg4vAzVyE=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
BVAa/3t3IAFY9Vhm54HGXepMimoOe/kcfadHQ05dYwA=
|
||||
2PYJcQvOSP90Blq3CaxrNYY/6vaN9tKtKV0H6kaX8TM=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
MDrKFvFWroTb0+KEbQShBcoBvo4=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
PpvapAjR62rl6Ym4E6hkTgpKmBICxTaQXeUqcpHmmqQ=
|
||||
|
@ -438,46 +143,30 @@
|
|||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib/objects-11.0+.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
Y9a1GaKTRUosUcKwf6iBfugEkm0=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ZdvAd3vXemAOOAlZpZd15K/LzRUe04eapCHF0NVjpvk=
|
||||
Gexc3n/2YAaeLASw0/Tu4ezNpN6/rVWKFFVonlLgYPo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib/objects-13.0+.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
0L3wrkkozWdsDpWNMIK4OprQO7Q=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
WN0LMXI6Sfky30DnTJ2PHe0y7a5SsvJycJ69GuYCGaw=
|
||||
zOyATQsmHIWfzd9ruDP0OBfIX1x84uKw1QsBRFUWJe4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib/runtime.nib</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
5khYZGe3mcP3nwnsnW9Msh0A0MQ=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
Scz4gjaPWlm4v6xxcJYMCXSkMCNBw+cFEygmKL1kKTc=
|
||||
py0cxo8inTLUS8pH1XVDJqaDKHCHkK2f0zEP5lTvslY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>embedded.mobileprovision</key>
|
||||
<dict>
|
||||
<key>hash</key>
|
||||
<data>
|
||||
85kRWtTHuvaEu8gHQR7nCwEVWic=
|
||||
</data>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
q9IhoQdXPz9WKGlGu0EoYTSM6gDTHD/bfMK7M1TmOPc=
|
||||
wkTlWxFKtxR/vpeVXoyweij5JJs5ll4nyAhFhPBGV+s=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
|
|
Binary file not shown.
Reference in a new issue