added easter egg
initial support for iOS 9 & 10
This commit is contained in:
Micah Gomez 2019-04-15 01:09:17 -06:00
parent 38e0f7dcdd
commit ac09823a09
5 changed files with 129 additions and 59 deletions

View file

@ -85,6 +85,7 @@
BDCF06AD224B545100ED9A62 /* FlashBackTests */, BDCF06AD224B545100ED9A62 /* FlashBackTests */,
BDCF06B8224B545100ED9A62 /* FlashBackUITests */, BDCF06B8224B545100ED9A62 /* FlashBackUITests */,
BDCF0693224B544F00ED9A62 /* Products */, BDCF0693224B544F00ED9A62 /* Products */,
BDF33795226443090033A3A9 /* Frameworks */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@ -132,6 +133,13 @@
path = FlashBackUITests; path = FlashBackUITests;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
BDF33795226443090033A3A9 /* Frameworks */ = {
isa = PBXGroup;
children = (
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
@ -434,36 +442,46 @@
BDCF06BF224B545100ED9A62 /* Debug */ = { BDCF06BF224B545100ED9A62 /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = PRBH2T6668; DEVELOPMENT_TEAM = PRBH2T6668;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"/Users/micahgomez/Downloads/iOS-Runtime-Headers-master/PrivateFrameworks\"/**",
);
INFOPLIST_FILE = FlashBack/Info.plist; INFOPLIST_FILE = FlashBack/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.FlashBack; PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.FlashBack;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = 1; TARGETED_DEVICE_FAMILY = "1,2";
}; };
name = Debug; name = Debug;
}; };
BDCF06C0224B545100ED9A62 /* Release */ = { BDCF06C0224B545100ED9A62 /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = PRBH2T6668; DEVELOPMENT_TEAM = PRBH2T6668;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"/Users/micahgomez/Downloads/iOS-Runtime-Headers-master/PrivateFrameworks\"/**",
);
INFOPLIST_FILE = FlashBack/Info.plist; INFOPLIST_FILE = FlashBack/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.FlashBack; PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.FlashBack;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = 1; TARGETED_DEVICE_FAMILY = "1,2";
}; };
name = Release; name = Release;
}; };

View file

@ -46,8 +46,8 @@
<rect key="frame" x="16" y="632" width="167" height="50"/> <rect key="frame" x="16" y="632" width="167" height="50"/>
<color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="50" id="9mK-y5-0Nx"/> <constraint firstAttribute="width" constant="167" id="RFy-27-zsA"/>
<constraint firstAttribute="width" constant="167" id="hZ5-po-RnY"/> <constraint firstAttribute="height" constant="50" id="bKK-uv-NnI"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="31"/> <fontDescription key="fontDescription" type="system" pointSize="31"/>
<state key="normal" title="Restore"/> <state key="normal" title="Restore"/>
@ -94,7 +94,7 @@
<rect key="frame" x="16" y="574" width="343" height="50"/> <rect key="frame" x="16" y="574" width="343" height="50"/>
<color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="50" id="FX0-I3-87R"/> <constraint firstAttribute="height" constant="50" id="Dji-9D-MQU"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="31"/> <fontDescription key="fontDescription" type="system" pointSize="31"/>
<state key="normal" title="Create Backup"/> <state key="normal" title="Create Backup"/>
@ -111,7 +111,7 @@
<rect key="frame" x="16" y="690" width="167" height="50"/> <rect key="frame" x="16" y="690" width="167" height="50"/>
<color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="1" alpha="0.25035761439999998" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="50" id="FOr-n7-40y"/> <constraint firstAttribute="height" constant="50" id="PL0-p3-YLa"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="31"/> <fontDescription key="fontDescription" type="system" pointSize="31"/>
<state key="normal" title="Package"/> <state key="normal" title="Package"/>
@ -127,7 +127,7 @@
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Selected Backup:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z1J-Te-u2O"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Selected Backup:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z1J-Te-u2O">
<rect key="frame" x="16" y="145" width="343" height="30"/> <rect key="frame" x="16" y="145" width="343" height="30"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="30" id="Gdu-US-lpD"/> <constraint firstAttribute="height" constant="30" id="90x-jO-Xfk"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="20"/> <fontDescription key="fontDescription" type="system" pointSize="20"/>
<nil key="textColor"/> <nil key="textColor"/>
@ -136,24 +136,21 @@
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Scroll to Select a Backup" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gXr-H3-y6A"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Scroll to Select a Backup" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gXr-H3-y6A">
<rect key="frame" x="16" y="183" width="343" height="30"/> <rect key="frame" x="16" y="183" width="343" height="30"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="30" id="4Zi-pJ-uHG"/> <constraint firstAttribute="height" constant="30" id="ClJ-lR-kgI"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="13"/> <fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="textColor"/> <nil key="textColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="FlashBack" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="84C-7a-WER"> <label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="FlashBack" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="84C-7a-WER">
<rect key="frame" x="16" y="44" width="343" height="93"/> <rect key="frame" x="16" y="44" width="343" height="93"/>
<constraints>
<constraint firstAttribute="height" constant="93" id="Vdj-T6-r6s"/>
</constraints>
<fontDescription key="fontDescription" name="Courier" family="Courier" pointSize="54"/> <fontDescription key="fontDescription" name="Courier" family="Courier" pointSize="54"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j3D-XF-u37"> <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="162" y="747" width="51" height="30"/> <rect key="frame" x="162" y="747" width="51" height="30"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="30" id="yZx-HI-Asl"/> <constraint firstAttribute="height" constant="30" id="9he-YC-JKm"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" pointSize="25"/> <fontDescription key="fontDescription" type="system" pointSize="25"/>
<state key="normal" title="Help"/> <state key="normal" title="Help"/>
@ -161,48 +158,62 @@
<action selector="helpMenu:" destination="BYZ-38-t0r" eventType="touchUpInside" id="Cqa-me-9od"/> <action selector="helpMenu:" destination="BYZ-38-t0r" eventType="touchUpInside" id="Cqa-me-9od"/>
</connections> </connections>
</button> </button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="47M-sG-LZL">
<rect key="frame" x="16" y="44" width="343" height="93"/>
<constraints>
<constraint firstAttribute="height" constant="93" id="T8k-cf-vLy"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="50"/>
<connections>
<action selector="secretButton:" destination="BYZ-38-t0r" eventType="touchUpInside" id="fAg-6v-c6Q"/>
</connections>
</button>
</subviews> </subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints> <constraints>
<constraint firstItem="3iZ-tO-enL" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="top" id="0eT-YG-qDK"/> <constraint firstItem="47M-sG-LZL" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" id="4As-Rd-Dji"/>
<constraint firstItem="WN9-tU-bOp" firstAttribute="trailing" secondItem="Z44-tn-4Km" secondAttribute="trailing" id="1ID-tR-nJf"/> <constraint firstItem="WN9-tU-bOp" firstAttribute="leading" secondItem="Z44-tn-4Km" secondAttribute="leading" id="4QT-wZ-w3a"/>
<constraint firstItem="X4R-sr-2s9" firstAttribute="leading" secondItem="FKY-5f-bN9" secondAttribute="leading" id="1if-ex-pI1"/> <constraint firstItem="Xdq-a9-Vkk" firstAttribute="leading" secondItem="3iZ-tO-enL" secondAttribute="leading" id="5sk-v2-ppd"/>
<constraint firstItem="WN9-tU-bOp" firstAttribute="leading" secondItem="XMB-Cv-YLA" secondAttribute="trailing" constant="9" id="4Zb-6i-phK"/> <constraint firstItem="3iZ-tO-enL" firstAttribute="top" secondItem="8bC-Xf-vdC" secondAttribute="top" id="6dr-2o-cxa"/>
<constraint firstItem="z1J-Te-u2O" firstAttribute="top" secondItem="84C-7a-WER" secondAttribute="bottom" constant="8" symbolic="YES" id="6bo-R5-Lo8"/> <constraint firstItem="84C-7a-WER" firstAttribute="leading" secondItem="z1J-Te-u2O" secondAttribute="leading" id="8vD-4r-nEa"/>
<constraint firstItem="j3D-XF-u37" firstAttribute="top" secondItem="Z44-tn-4Km" secondAttribute="bottom" constant="8" symbolic="YES" id="8bK-9g-gPv"/> <constraint firstItem="84C-7a-WER" firstAttribute="trailing" secondItem="z1J-Te-u2O" secondAttribute="trailing" id="AB0-Lv-2Db"/>
<constraint firstItem="84C-7a-WER" firstAttribute="trailing" secondItem="z1J-Te-u2O" secondAttribute="trailing" id="C57-yO-dCb"/> <constraint firstItem="WN9-tU-bOp" firstAttribute="trailing" secondItem="Z44-tn-4Km" secondAttribute="trailing" id="Aef-wR-qqw"/>
<constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="top" id="C7w-2t-7sp"/> <constraint firstItem="Xdq-a9-Vkk" firstAttribute="top" secondItem="3iZ-tO-enL" secondAttribute="top" id="AxY-1f-vBW"/>
<constraint firstItem="WN9-tU-bOp" firstAttribute="leading" secondItem="Z44-tn-4Km" secondAttribute="leading" id="Gwi-A0-Yjc"/> <constraint firstItem="gXr-H3-y6A" firstAttribute="top" secondItem="z1J-Te-u2O" secondAttribute="bottom" constant="8" symbolic="YES" id="D74-sB-NG6"/>
<constraint firstItem="FKY-5f-bN9" firstAttribute="leading" secondItem="XMB-Cv-YLA" secondAttribute="leading" id="Gya-Sj-oR1"/> <constraint firstAttribute="bottom" secondItem="3iZ-tO-enL" secondAttribute="bottom" id="DE7-xP-Ce6"/>
<constraint firstItem="X4R-sr-2s9" firstAttribute="top" secondItem="gXr-H3-y6A" secondAttribute="bottom" constant="8" symbolic="YES" id="HrW-cE-Xab"/> <constraint firstItem="3iZ-tO-enL" firstAttribute="bottom" secondItem="Xdq-a9-Vkk" secondAttribute="bottom" id="DGT-JX-ght"/>
<constraint firstItem="3iZ-tO-enL" firstAttribute="bottom" secondItem="Xdq-a9-Vkk" secondAttribute="bottom" id="Ihl-em-ftz"/> <constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="FKY-5f-bN9" secondAttribute="bottom" constant="8" symbolic="YES" id="Eib-qn-Uh1"/>
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="leading" secondItem="3iZ-tO-enL" secondAttribute="leading" id="Jwx-yU-idu"/> <constraint firstItem="gXr-H3-y6A" firstAttribute="trailing" secondItem="X4R-sr-2s9" secondAttribute="trailing" id="FkS-db-Fxq"/>
<constraint firstItem="FKY-5f-bN9" firstAttribute="trailing" secondItem="WN9-tU-bOp" secondAttribute="trailing" id="KIf-qp-hxP"/> <constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="j3D-XF-u37" secondAttribute="bottom" constant="1" id="GVL-E6-A4s"/>
<constraint firstItem="gXr-H3-y6A" firstAttribute="top" secondItem="z1J-Te-u2O" secondAttribute="bottom" constant="8" symbolic="YES" id="LqO-b2-e8Y"/> <constraint firstItem="FKY-5f-bN9" firstAttribute="leading" secondItem="XMB-Cv-YLA" secondAttribute="leading" id="GX6-2a-Uyj"/>
<constraint firstAttribute="trailing" secondItem="3iZ-tO-enL" secondAttribute="trailing" id="N2E-sF-a0C"/> <constraint firstItem="FKY-5f-bN9" firstAttribute="top" secondItem="X4R-sr-2s9" secondAttribute="bottom" constant="8" symbolic="YES" id="Hh2-6E-2zg"/>
<constraint firstItem="gXr-H3-y6A" firstAttribute="trailing" secondItem="X4R-sr-2s9" secondAttribute="trailing" id="SHL-4A-ZBx"/> <constraint firstItem="X4R-sr-2s9" firstAttribute="leading" secondItem="FKY-5f-bN9" secondAttribute="leading" id="IhQ-HE-XGz"/>
<constraint firstItem="z1J-Te-u2O" firstAttribute="leading" secondItem="gXr-H3-y6A" secondAttribute="leading" id="Tv0-oy-gyX"/> <constraint firstItem="Xdq-a9-Vkk" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leading" id="Lru-LV-ylV"/>
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="top" secondItem="3iZ-tO-enL" secondAttribute="top" id="U7c-ZY-lBR"/> <constraint firstItem="z1J-Te-u2O" firstAttribute="top" secondItem="47M-sG-LZL" secondAttribute="bottom" constant="8" symbolic="YES" id="PR7-hd-mwp"/>
<constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="FKY-5f-bN9" secondAttribute="bottom" constant="8" symbolic="YES" id="VOI-mx-dJb"/> <constraint firstItem="XMB-Cv-YLA" firstAttribute="trailing" secondItem="lNN-hV-Kcy" secondAttribute="trailing" id="Pgp-oJ-90I"/>
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leading" id="Xds-JB-s4c"/> <constraint firstItem="XMB-Cv-YLA" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="top" id="Roj-fM-BHF"/>
<constraint firstItem="Z44-tn-4Km" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="bottom" constant="7" id="Xml-2h-kSF"/> <constraint firstItem="FKY-5f-bN9" firstAttribute="trailing" secondItem="WN9-tU-bOp" secondAttribute="trailing" id="SDT-ZW-XdB"/>
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="centerX" secondItem="FKY-5f-bN9" secondAttribute="centerX" id="YZG-dA-vWg"/> <constraint firstItem="XMB-Cv-YLA" firstAttribute="baseline" secondItem="WN9-tU-bOp" secondAttribute="baseline" id="XZs-zT-gzV"/>
<constraint firstItem="j3D-XF-u37" firstAttribute="top" secondItem="lNN-hV-Kcy" secondAttribute="bottom" constant="7" id="ZFV-TD-dAm"/> <constraint firstItem="WN9-tU-bOp" firstAttribute="leading" secondItem="XMB-Cv-YLA" secondAttribute="trailing" constant="9" id="Xtg-Ja-Oag"/>
<constraint firstItem="XMB-Cv-YLA" firstAttribute="trailing" secondItem="lNN-hV-Kcy" secondAttribute="trailing" id="a34-Zx-seY"/> <constraint firstItem="lNN-hV-Kcy" firstAttribute="top" secondItem="XMB-Cv-YLA" secondAttribute="bottom" constant="8" symbolic="YES" id="aHl-IK-4uN"/>
<constraint firstItem="FKY-5f-bN9" firstAttribute="top" secondItem="X4R-sr-2s9" secondAttribute="bottom" constant="8" symbolic="YES" id="amT-jv-zQP"/> <constraint firstItem="47M-sG-LZL" firstAttribute="leading" secondItem="84C-7a-WER" secondAttribute="leading" id="adJ-XZ-EfD"/>
<constraint firstItem="84C-7a-WER" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leadingMargin" id="bRT-7N-DE5"/> <constraint firstItem="84C-7a-WER" firstAttribute="trailing" secondItem="47M-sG-LZL" secondAttribute="trailing" id="b9p-0l-sgD"/>
<constraint firstItem="XMB-Cv-YLA" firstAttribute="leading" secondItem="lNN-hV-Kcy" secondAttribute="leading" id="biR-GY-DRW"/> <constraint firstAttribute="trailing" secondItem="Xdq-a9-Vkk" secondAttribute="trailing" id="cOS-0m-ol3"/>
<constraint firstItem="z1J-Te-u2O" firstAttribute="trailing" secondItem="gXr-H3-y6A" secondAttribute="trailing" id="eHu-zg-rHE"/> <constraint firstItem="Z44-tn-4Km" firstAttribute="top" secondItem="WN9-tU-bOp" secondAttribute="bottom" constant="7" id="cxE-is-A7K"/>
<constraint firstItem="Xdq-a9-Vkk" firstAttribute="trailing" secondItem="3iZ-tO-enL" secondAttribute="trailing" id="ee5-lm-WY7"/> <constraint firstItem="j3D-XF-u37" firstAttribute="top" secondItem="Z44-tn-4Km" secondAttribute="bottom" constant="8" symbolic="YES" id="dNV-Ra-Qok"/>
<constraint firstAttribute="bottom" secondItem="Xdq-a9-Vkk" secondAttribute="bottom" id="gIQ-nY-YPC"/> <constraint firstItem="z1J-Te-u2O" firstAttribute="trailing" secondItem="gXr-H3-y6A" secondAttribute="trailing" id="eLs-Sy-E9m"/>
<constraint firstItem="gXr-H3-y6A" firstAttribute="leading" secondItem="X4R-sr-2s9" secondAttribute="leading" id="kSk-8X-Pel"/> <constraint firstItem="z1J-Te-u2O" firstAttribute="top" secondItem="84C-7a-WER" secondAttribute="bottom" constant="8" symbolic="YES" id="eV0-yW-4vo"/>
<constraint firstItem="84C-7a-WER" firstAttribute="leading" secondItem="z1J-Te-u2O" secondAttribute="leading" id="kgG-2t-Ulf"/> <constraint firstItem="XMB-Cv-YLA" firstAttribute="leading" secondItem="lNN-hV-Kcy" secondAttribute="leading" id="fR6-ap-wSV"/>
<constraint firstItem="XMB-Cv-YLA" firstAttribute="baseline" secondItem="WN9-tU-bOp" secondAttribute="baseline" id="lCm-I7-9Jk"/> <constraint firstItem="X4R-sr-2s9" firstAttribute="trailing" secondItem="FKY-5f-bN9" secondAttribute="trailing" id="gBa-uI-8US"/>
<constraint firstItem="84C-7a-WER" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" id="n1b-T6-GbG"/> <constraint firstItem="84C-7a-WER" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leadingMargin" id="i2Y-32-cP3"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="j3D-XF-u37" secondAttribute="bottom" constant="1" id="p5L-LB-KGt"/> <constraint firstItem="47M-sG-LZL" firstAttribute="top" secondItem="84C-7a-WER" secondAttribute="top" id="jHu-K3-0zh"/>
<constraint firstItem="FKY-5f-bN9" firstAttribute="centerX" secondItem="j3D-XF-u37" secondAttribute="centerX" id="t6F-Xg-a39"/> <constraint firstItem="gXr-H3-y6A" firstAttribute="leading" secondItem="X4R-sr-2s9" secondAttribute="leading" id="lsq-nO-szW"/>
<constraint firstItem="X4R-sr-2s9" firstAttribute="trailing" secondItem="FKY-5f-bN9" secondAttribute="trailing" id="w0n-hR-bNN"/> <constraint firstItem="3iZ-tO-enL" firstAttribute="centerX" secondItem="84C-7a-WER" secondAttribute="centerX" id="nkt-hI-9vX"/>
<constraint firstItem="lNN-hV-Kcy" firstAttribute="top" secondItem="XMB-Cv-YLA" secondAttribute="bottom" constant="8" symbolic="YES" id="wpo-kx-mc3"/> <constraint firstItem="FKY-5f-bN9" firstAttribute="centerX" secondItem="j3D-XF-u37" secondAttribute="centerX" id="pW2-AS-dIm"/>
<constraint firstItem="z1J-Te-u2O" firstAttribute="leading" secondItem="gXr-H3-y6A" secondAttribute="leading" id="pZ1-LZ-fuu"/>
<constraint firstItem="j3D-XF-u37" firstAttribute="top" secondItem="lNN-hV-Kcy" secondAttribute="bottom" constant="7" id="sic-Ci-tJe"/>
<constraint firstItem="3iZ-tO-enL" firstAttribute="trailing" secondItem="Xdq-a9-Vkk" secondAttribute="trailing" id="t8T-Kj-blh"/>
<constraint firstItem="X4R-sr-2s9" firstAttribute="top" secondItem="gXr-H3-y6A" secondAttribute="bottom" constant="8" symbolic="YES" id="vuj-pj-8iI"/>
</constraints> </constraints>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view> </view>

View file

@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.0</string> <string>3.2</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1</string> <string>1</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
@ -36,8 +36,6 @@
<array> <array>
<string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string> <string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View file

@ -17,6 +17,7 @@
} }
@property (weak, nonatomic) IBOutlet UILabel *FlashBackTitle;
@end @end

View file

@ -21,10 +21,46 @@ NSString *_backupDirectory;
NSMutableString *selectedBackupImageURL; NSMutableString *selectedBackupImageURL;
NSMutableString *selectedBackupURL; NSMutableString *selectedBackupURL;
NSString *backupNameSelected; NSString *backupNameSelected;
int itFuckingCounts = 0;
//CFArrayRef CPBitmapCreateImagesFromData(CFDataRef cpbitmap, void*, int, void*);
@implementation ViewController @implementation ViewController
- (IBAction)secretButton:(id)sender {
itFuckingCounts++;
if (itFuckingCounts==13) {
UIAlertController * secretButtonAlert= [UIAlertController
alertControllerWithTitle:@"Secret found!"
message:@"Thanks for supporting FlashBack, and congratulations on finding the secret button!"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* ok = [UIAlertAction
actionWithTitle:@":)"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
NSURL *myPicURL = [NSURL fileURLWithPath:@"/Library/FlashBack/.mg.png"];
NSLog(@"%@", myPicURL);
NSData *myPicData = [NSData dataWithContentsOfURL:myPicURL];
selectedBackupImage.image = [UIImage imageWithData:myPicData];
[secretButtonAlert dismissViewControllerAnimated:YES completion:nil];
}];
[secretButtonAlert addAction:ok];
[self presentViewController:secretButtonAlert animated:YES completion:nil];
}
}
- (IBAction)createBackup:(id)sender { - (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]; UIAlertController *createBackupAlert = [UIAlertController alertControllerWithTitle:@"Enter the Backup Name" message:@"Please do not use special symbols. Use only letters and numbers, no spaces." preferredStyle:UIAlertControllerStyleAlert];
@ -351,7 +387,7 @@ NSString *backupNameSelected;
UIAlertController * infoAlert= [UIAlertController UIAlertController * infoAlert= [UIAlertController
alertControllerWithTitle:@"Known issues" alertControllerWithTitle:@"Known issues"
message:@"\nScrolling through the picker view with no backups will crash the app.\n\nFor beg reports, please contact me via Twitter or the email available in the next pop-up dialogue." message:@"\nScrolling through the picker view with no backups will crash the app.\n\nSometimes, wallpapers are incorrectly applied after restoring a backup\n\nFor bug reports, please contact me via Twitter or the email available in the next pop-up dialogue."
preferredStyle:UIAlertControllerStyleAlert]; preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* okay = [UIAlertAction UIAlertAction* okay = [UIAlertAction
@ -495,6 +531,7 @@ NSString *backupNameSelected;
//_backupFolderArray = @[@"one",@"two",@"three"]; //_backupFolderArray = @[@"one",@"two",@"three"];
_backupFolderArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/Library/FlashBack/Backups/" error:nil]; _backupFolderArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"/Library/FlashBack/Backups/" error:nil];
NSLog(@"%d", itFuckingCounts);
} }
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
@ -531,12 +568,17 @@ NSString *backupNameSelected;
selectedBackupImageURL=selectedBackupURL; selectedBackupImageURL=selectedBackupURL;
[selectedBackupImageURL appendString: @"/SBFolder/LockBackgroundThumbnail.jpg"]; [selectedBackupImageURL appendString: @"/SBFolder/LockBackgroundThumbnail.jpg"];
//[selectedBackupImageURL appendString: @"/SBFolder/LockBackground.cpbitmap"]; //[selectedBackupImageURL appendString: @"/SBFolder/LockBackground.cpbitmap"];
NSLog(@"%@", selectedBackupImageURL); NSLog(@"%@", selectedBackupImageURL);
NSURL *url = [NSURL fileURLWithPath:selectedBackupImageURL]; NSURL *url = [NSURL fileURLWithPath:selectedBackupImageURL];
NSData *data = [NSData dataWithContentsOfURL:url]; NSData *data = [NSData dataWithContentsOfURL:url];
/*NSData *homeData = [NSData dataWithContentsOfFile:selectedBackupImageURL];
CFArrayRef homeArrayRef = CPBitmapCreateImagesFromData((__bridge CFDataRef)homeData, NULL, 1, NULL);
NSArray *homeArray = (__bridge NSArray*)homeArrayRef;
UIImage *homeWallpaper = [[UIImage alloc] initWithCGImage:(__bridge CGImageRef)(homeArray[0])];*/
selectedBackupImage.image = [UIImage imageWithData:data]; selectedBackupImage.image = [UIImage imageWithData:data];
//selectedBackupImage.image = [UIImage imageWithContentsOfCPBitmapFile:selectedBackupImageURL flags:kNilOptions]; //selectedBackupImage.image = [UIImage imageWithContentsOfCPBitmapFile:selectedBackupImageURL flags:kNilOptions];