Coder Social home page Coder Social logo

coord-e / preferenceloader-sim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from poomsmart/preferenceloader-sim

0.0 2.0 0.0 79 KB

Drop-in replacement for preferenceloader, for iOS simulators.

License: GNU Lesser General Public License v3.0

Makefile 11.10% Logos 84.86% Objective-C 4.04%

preferenceloader-sim's Introduction

Simulator version of PreferenceLoader

This project aims to make testing tweak settings bundle possible on iOS simulator. simject is required and used by this project.

Setting up simulator

make setup PL_SIMULATOR_VERSION=9.3 For instance, if you target iOS simulator 9.3

Or

make setup if you specify the version in locatesim.mk

Uninstallation

make remove PL_SIMULATOR_VERSION=9.3

Or

make remove if you specify the version in locatesim.mk

Sample projects

Original README

This is a drop-in replacement for Thomas Moore's PreferenceLoader project. I personally found this necessary, as there were various things about the existing PreferenceLoader I did not like.

Complaints about the Original

  • unnecessary hooking
  • +[NSData initWithContentsOfFile:]
  • -[NSBundle pathForResource:ofType:]
  • -[PSSpecifier setupIconImageWithPath:]
  • Due to the way PreferenceLoader was implemented (intercepting the toplevel settings plists as they were read from disk and inserting our data directly into them (!)) it had certain filenames hardcoded, such as Settings-(iPhone|iPod).plist, and wouldn't work for other devices.
  • Due to the broad hooks above, all sorts of things that don't need to be intercepted are. Every resource path calculated from a bundle gets extra checks tacked onto it, and every NSData-read-from-file gets a filename check.
  • Its current lack of compatibility with iPhoneOS 3.2 and the iPad (relies on a removed ivar, and Settings-Wildcat.plist is not processed.)

What this Replacement offers

  • source availability
  • error recovery (loading a bad bundle results in a simple "There was an error loading ..." instead of a blank preferences panel)
  • cleaner design
  • iPhoneOS 3.2 and iPad compatibility.

License

PreferenceLoader is made available under the provisions of the GNU Lesser General Public License (LGPL), version 3.

preferenceloader-sim's People

Contributors

dhowett avatar rpetrich avatar coord-e avatar jessevelden avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.