Credits
AppBackup 2.0
Copyright © 2008-2011 Scott Zeid (aka scottywz & DPGumby).
http://me.srwz.us/iphone/appbackup
AppBackup is released under the X11 License.
This program contains the following libraries or portions of them:
• BDSKTask (Adam Maxwell; http://code.google.com/p/mactlmgr/)
• CFPropertyList (Ben Cochran; https://github.com/bencochran/CFPropertyList)
• simplejson (Bob Ippolito; http://pypi.python.org/pypi/simplejson/)
• MBProgressHUD (Matej Bukovinski, with modifications by Jonathan George;
https://github.com/jdg/MBProgressHUD)
See the LICENSE file for the copyright and license information for these
libraries.
Translations for languages other than English were provided by the following
volunteers:
• Jan Kozánek - Czech
• goodlook8666 - Chinese
• Dennis Morren and Tim van Neerbos - Dutch
• Marc Klein and Christian Guillon - French
• Spiros Chistoforos-Libanis - Greek
• Chris Zander - German
• Pietropaolo Mastromarco - Italian
• Osamu - Japanese
• Joon Ki Hong - Korean
• Jan Gerhard Schøpp - Norwegian
• Nikita "ZAY" Peshkov - Russian
• Ramón Cutanda - Spanish
• Magnus Pålsson - Swedish
This app's logo is a Tango icon. The icon is © Tango Desktop Project and
released under the Creative Commons Attribution Share-Alike license.
In addition to everyone listed above, I would like to thank the following
people who paid me lots of money to see their names in lights:
• The Python developers.
• Jay Freeman (saurik) for packaging Python for iOS.
• Dustin L. Howett (https://github.com/DHowett/theos), Dave Arter,
gojohnnyboi, Jim Beesley (http://code.google.com/p/iphonetextreader/),
and others who wrote the sample code I used as reference.
• BigBoss, for hosting AppBackup on his repository.
• Justin Hill for letting me test on his iPhone 4.
• Everyone who has sent me bug reports.
If you want to help translate AppBackup into a different language, please go
to <http://me.srwz.us/iphone/appbackup>. Currently, it supports Chinese,
Czech, Dutch, English, French, German, Greek, Italian, Japanese, Norwegian,
Russian, Spanish, and Swedish.
Back to top
Change Log
Changes in 2.0.1 (2011-05-27):
• Fixed the problem where AppBackup was hanging on the Please Wait screen for many people.
• Fixed a cosmetic bug with the Please Wait screen.
• Updated Spanish translation.
• ini-to-strings.py now sorts the list of language files before converting them.
Changes in 2.0 (2011-05-26):
• AppBackup now works on iOS versions 4.3.x and later (and it still works with iOS 3; untested on iOS 2).
• Added a confirmation screen for all actions.
• Redesigned About screen.
• AppBackup has been split into two parts:
· The GUI, written in Objective-C this time.
· A command-line interface in the form of a Python package. (Just type appbackup at the terminal to use it.)
· As a result, the code has been completely rewritten and is much cleaner and object-oriented.
• The FixPermissions utility can now be used by typing appbackup-fix-permissions at the terminal. It is still run automatically in the GUI mode only.
• Updated translations and added new translations for the following languages:
· Czech - Jan Kozánek
· Chinese - goodlook8666
· Greek - Spiros Chistoforos-Libanis
· Japanese - Osamu
· Korean - Joon Ki Hong
· Norwegian - Jan Gerhard Schøpp
• Changed translations format in the source tree.
• Translations are now managed on Transifex (https://www.transifex.net/) and converted to Apple's Localizable.strings format at build time.
Changes in 1.0.14 (2011-05-05):
• SECURITY UPDATE: FixPermissions now ensures that no directory other than /var is a link.
• Added the German ß/Eszett to the diacritical mappings used for sorting.
• This does NOT fix the incompatibility with iOS 4.3.x. I am still working on fixing that.
Changes in 1.0.13 (2011-01-13):
• Added the ability to ignore and un-ignore apps in the backup list and when using the All button.
• Fixed a crash caused by an error in the Dutch translation. (Tim van Neerbos was consulted about the problem string. This bug only affected users who have their language set to Dutch.)
• The unique bundle ID of each app is now displayed under its name in the backup/restore prompt.
Changes in 1.0.12 (2010-11-27):
• Fixed a bug where AppBackup would crash if the modification time of a backup file was used instead of a non-existent backuptimes.plist entry.
• Fixed a couple of bugs in the old method of finding apps.
• Reverted to the old method of finding apps because it is faster.
• Fixed some problems with the English strings for deleting backups.
• Fixed logging when deleting backups.
• Simplified localization code in BackupAll/BackupOne.
• The action argument of on(OneApp/AllApps)DoAction_withModalView_ takes an unlocalized string now.
Changes in 1.0.11 (2010-11-25):
• Added a Dutch translation by Dennis Morren.
• Added a Russian translation by Nikita "ZAY" Peshkov.
• Added proper error-checking when backing up or restoring/deleting a backup.
• Added the ability to delete backups (only translated to English and Russian for now).
• Permissions on /var/mobile/Library/Preferences/AppBackup are now fixed on startup to reduce crashes
· This is done with a setuid root binary called FixPermissions and can be disabled by making an empty file at /Applications/AppBackup.app/NoFixPermissions
• The modification time for the backup file is now used as a fallback if the file exists but the app is not in backuptimes.plist.
• Added Retina images for the icon and splash screen.
· The Retina icon is slightly different than the low-resolution icon.
• Re-designed the splash screen.
• Now released under the X11 License.
• The Web site's domain name is now pages.srwz.us.
• Full changelog now shipped with AppBackup and shown in the About dialog.
• Tweaked the debug.log format a tiny bit.
• Source changes:
· Setuid root binary called FixPermissions added to fix permissions on startup.
· PermissionsFix is now FixPermissions.old and is deprecated.
· Changes related to Python naming conventions and docstrings in include/globals.py.
· Source tree reorganized, changes and credits reorganized, and build process changed.
· README and LICENSE files added.
· Trivial changes.
Changes in 1.0.10 (2010-08-03):
• Added an Italian translation by Pietropaolo Mastromarco.
• Fixed a bug where the restore option didn't appear if we couldn't get a localized date string from the operating system, even though the app was backed up already.
• (Only of interest to developers) Sorted the functions in include/globals.py alphabetically, except for a couple of long ones which were left at the bottom.
Changes in 1.0.9.9 (2010-06-10):
• Added a Spanish translation by Ramón Cutanda.
• Changed the debug logging method again.
• Threads now have autorelease pools.
• This version is mainly intended to help me figure out crashing problems that people are having, although the above change might help some.
Changes in 1.0.9.2 (2010-01-14):
• Fixed another problem when upgrading to 1.0.7 or later from 1.0.6 or earlier.
Changes in 1.0.9.1 (2010-01-13):
• AppBackup no longer crashes on a new install.
• Fixed complications when upgrading to 1.0.7 or later from 1.0.6 or earlier.
Changes in 1.0.9 (2010-01-11):
• Attempted to fix AppBackup crashing on new installs.
Changes in 1.0.8:
• There is NO version 1.0.8!
Changes in 1.0.7 (2010-01-10):
• Moved backup location to /var/mobile/Library/Preferences/AppBackup so that iTunes will back them up.
Changes in 1.0.6 (2009-09-19?):
• Added a French translation by Marc Klein and I forgot to mention it.
• Worked around a problem caused by MobileSubstrate support, which was removed.
Changes in 1.0.5 (2009-08-17):
• Fixed a problem where apps whose .app folders' names had non-ASCII characters in them (e.g. "é" or "™") would crash AppBackup.
• Support for sorting app names that have accented letters has been added. (e.g. "Métro" now comes before "Mint")
• CPU-intensive functions are now executed in separate threads. This should result in better performance. Specifically, finding apps and the actual backup and restore processes are now executed in separate threads.
• The method used for finding apps has changed except for firmware versions below 2.1.
• Reorganized the code A LOT.
• Changed the debug logging process.
• Made other small changes.
Changes in 1.0.4 (2009-07-09):
• Works on iPhoneOS 3.0
• Worked around bug where an app that localized its name on the SpringBoard and didn't have a CFBundleDisplayName key in its Info.plist file would crash AppBackup
• Fixed more crash-on-startup bugs
• Added credits for the translations to the About screen (VERY sorry about not doing this earlier, translators)
• Added MobileSubstrate support
Changes in 1.0.3final (2008-09-27):
• Added German and Swedish translations
• Uses date format according to user's locale and preferences
• Source is now compiled into optimized Python bytecode to run a little quicker; this may fix some crashing problems people have been having, especially after updating to 2.1.
• Changes to UI: All and About buttons moved to bottom; buttons in dialogs are now on separate rows. This is to better support translated strings.
• Sorting of apps in the list is now done case-insensitively.
Changes in 1.0.2 (2008-09-02):
• Fixed a problem where if an app's Info.plist file didn't exist, AppBackup would crash by checking to see if it exists (thanks Steven B.)
• Fixed a problem where AppBackup would crash if you have a non-directory file in /var/mobile/Applications (thanks Ryan H.)
• Changed some strings to stress that this doesn't backup the actual apps, but just their saved data
• Added support for localization. If you want to help translate AppBackup into a different language, please contact me.
• Other small code changes
Changes in 1.0.1 (2008-08-19):
• Now outputs debugging info to /var/mobile/Library/AppBackup/debug.log
• Fixed a problem with BigBoss-provided debs causing it to crash
• Changed something that I think might cause a crashing bug if you have lots of AppStore apps
• Added thanks to BigBoss for hosting it
• Some minor, unnoticeable changes (like changing some comments in the code)
Changes in 1.0 (2008-08-17):
• Initial public release
Back to top
License
AppBackup
An iPhoneOS application that backs up and restores the saved data and
preferences of App Store apps.
Copyright (C) 2008-2011 Scott Zeid
http://me.srwz.us/iphone/appbackup
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.
Except as contained in this notice, the name(s) of the above copyright holders
shall not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization.
Localized strings for languages other than English were created by volunteers
whose names are listed in the CREDITS file.
This program contains the following libraries or portions of them:
* BDSKTask (http://code.google.com/p/mactlmgr/):
This software is Copyright (c) 2008-2011
Adam Maxwell. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
- Neither the name of Adam Maxwell nor the names of any
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* CFPropertyList (https://github.com/bencochran/CFPropertyList):
CFPropertyList is made available under the terms of the MIT License.
Copyright (c) 2010 Ben Cochran (http://bencochran.com)
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.
* simplejson (http://pypi.python.org/pypi/simplejson/):
Copyright (c) 2006 Bob Ippolito
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.
* MBProgressHUD (https://github.com/jdg/MBProgressHUD):
(with modifications by Jonathan George)
This code is distributed under the terms and conditions of the MIT license.
Copyright (c) 2009 Matej Bukovinski
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.
Back to top