Giter VIP home page Giter VIP logo

appcenter's Introduction

App Center

Instantly access your favorite apps from Control Center

Video

Weโ€™ve all been there. Chatting with a friend while trying to keep up with the social media timeline, that casual game or the latest news headlines. More often than not, you find yourself repeating the same sequence of click, tap, tap, clicka-click, tap in order to switch between two or more apps. What if this could be reduced to just one swipe?
Introducing App Center.

Features

  • A new page in Control Center presents your recently used apps to you.
  • Tap an app to open add it as an app page inside Control Center, granting instant access every time you open Control Center.
  • Tap and hold to open the app in full screen.
  • Smart swiping: App Center knows when you want to quickly swipe to another Control Center page and prevents unintended interaction with the page'd apps.
  • Efficient memory handling prevents wasting of battery life and system resources.

Building

By downloading, cloning or forking this repository or any of its forks, you agree to be bound by the terms set forth in the License.md document. You have to include this document in all redistributions of App Center or derivative works. Thank you for your cooperation.

  1. Download & set up Xcode, theos and its dependencies.
  2. Clone this repo.
  3. Read the license information included in License.md.
  4. Open Terminal in the appcenter directory and run "make package" to obtain a ready-to-install Debian package!
  5. Happy hacking!

Note: Set SIMULATOR=1 in your environment to compile for the iPhone simulator. You can then use the resulting dynamic library in the iOS Simulator using Karen Tsai's simject tool.

App Center is now available in Cydia!

This project was created by Evan Swick and Christoph Parstorfer in 2017. All intellectual property rights to the App Center name and accompanying artwork / design belong to Evan Swick and Christoph Parstorfer.

(c) Evan Swick and Christoph Parstorfer 2017. Some rights reserved.

appcenter's People

Contributors

conath avatar eswick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

appcenter's Issues

Seemingly unpredictable crash when loading the appcenter model

Twitter user @IOSHunter2 reported this to me via DM. Crash log here, excerpt below:

Last Exception Backtrace:
0       CoreFoundation                  0x18f6791b8 0x18f549000 + 0x1301b8  // __exceptionPreprocess + 0x7c
1       libobjc.A.dylib                 0x18e0b055c 0x18e0a8000 + 0x855c    // objc_exception_throw + 0x38
2       CoreFoundation                  0x18f67908c 0x18f549000 + 0x13008c  // +[NSException raise:format:] + 0x0
3       Foundation                      0x19013102c 0x190083000 + 0xae02c   // -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 0x70
4       SpringBoard (*)                 0x1001cbe8c 0x1000b8000 + 0x113e8c  // -[SBDisplayItem initWithType:displayIdentifier:] + 0x174
5       SpringBoard (*)                 0x1001cbb94 0x1000b8000 + 0x113b94  // +[SBDisplayItem displayItemWithType:displayIdentifier:] + 0x58
6       SpringBoard (*)                 0x10031723c 0x1000b8000 + 0x25f23c  // -[SBAppSwitcherModel _displayItemForApplication:] + 0x108
7     + AppCenter.dylib                 0x103bb7c9c 0x103bac000 + 0xbc9c    // Logos hook for -[SBAppSwitcherModel(_ungrouped) appcenter_model](SBAppSwitcherModel*, objc_selector*) + 0x354
8     + AppCenter.dylib                 0x103bbc670 0x103bac000 + 0x10670   // -[ACAppSelectionGridViewController collectionView:numberOfItemsInSection:] + 0x100
9       UIKit                           0x1955e0dc0 0x19551f000 + 0xc1dc0   // -[UICollectionViewData _updateItemCounts] + 0x1a0
10      UIKit                           0x1956a27e0 0x19551f000 + 0x1837e0  // -[UICollectionViewData numberOfSections] + 0x1c

He claims it happens since the 1.0.5 update when he opens control center.

Tweak list

Update Description for Version 1.0.5

๐Ÿ—ž Actual News for App Center customers:
Update 1.0.5 wanted to be a bugfix update when it was a kid but has grown to also include a number of new features! (so basically like Kinder Uberraschung but less of a choke hazard)
The update is recommended for users of all ages. (especially Horseshoe users)

๐Ÿ“ฏ New features and improvements ๐Ÿ“ฏ

  • Added compatibility with Horseshoe by ATWiik. Thanks to him for guiding us in the right direction. On the note of compatibility, the developer of Xen Lockscreen added basic compatibility with App Center in version 0.3.6 of his tweak. ๐Ÿ‘
  • Added a "remove all pages" button to the settings pane. Among other things, this helps if you accidentally add an app to App Center that resprings your device. That being said, you should consider not doing that in the first place. ๐Ÿšซ
  • Beefed up both the aesthetics and user-friendliness of the preferences pane. There are now nicer icons, more explanatory texts and better localization! ๐Ÿ”” It's a win-win-win!

๐Ÿ Save the bees, kill the bugs! ๐Ÿ›

  • Improved compatibility with Noctis by LaughingQuoll. The search icon now adapts to dark mode properly but the search bar still doesn't. Sorry about that!
  • Optimized the code to be more expandable and future-proof.

โ‰๏ธ Did you know? ๐Ÿ’ก

  • For 0.5 seconds after you swipe to an app page, all touches are redirected to Control Center. That means you can swipe anywhere, even on the app, and still get to the next page quickly.
  • Tap and hold to open an app normally! This works for all apps, even ones currently open as a page. They will remain open as a page.
  • You can use apps that you added as an app page normally (e. g. launch from the home screen). App Center doesn't hijack your apps to show them in a page, it tries to be friendly and sensitive at all times.

Add "remove all pages" button to settings

Or to the selection page itself? ๐Ÿ˜ˆ
It is needed because someone actually loaded a respring app into App Center and therefore opening CC would always respring the device.

Cydia Description for Release Version 1.0

This is an initial draft for the App Center V1.0 Cydia description. @eswick Please note that it is bound to change (especially the last paragraphs) as we decide on pricing and licensing.

App Center

Instantly access your recent apps from Control Center

Weโ€™ve all been there. Chatting with a friend while trying to keep up with the social media timeline, that casual game or the latest news headlines. More often than not, you find yourself repeating the same sequence of click, tap, tap, clicka-click, tap in order to switch between two or more apps. What if this could be reduced to just one swipe?
Introducing App Center.

TL;DR:

  • A new page in Control Center presents your recently used apps to you.
  • Tap an app to add it as an app page inside Control Center, granting instant access every time you open Control Center.
  • Tap and hold to open the app in full screen.
  • Smart swiping: App Center knows when you want to quickly swipe to another Control Center page and prevents unintended interaction with the page'd apps.
  • Efficient memory handling prevents wasting of battery life and system resources.

Multitasking on small screens is inefficient

The promise of App Center is not to bring multitasking to small-screen devices like the iPhone. There have been numerous attempts at porting iPad-like multitasking features to the iPhone, with little success. The screens are simply not spacious enough to allow for efficient multitasking. So rather than cramming two apps on the screen at the same time, App Center does the opposite. There is always one app front and center, enabling immediate and precise interactions while reducing the amount of time and taps it would take to entirely switch apps.

App Center adds app pages to Control Center

When you first open App Center, you are presented with a familiar grid of icons representing your most recently used applications. Tap on one to open it in an App Center page. This means that any time you swipe up to reveal Control Center, your selected apps will be loaded instantly. App Center will always remember the page you were using the last time โ€“ no matter if it's system toggles, one app page or another.

Customization

Head to the Settings app to change the size of the app pages in case you have a hard time swiping from page to page. You'll also find a toggle to disable the tweak entirely.

103 % Open Sauce

Because we believe that everybody should be able to learn to code and discover how their favorite apps and tweaks work, we have decided to make App Center open source. You can find it on github!

Both Paid and Open Source?

Purchasing App Center in the Cydia store keeps you updated with the latest precompiled stable version. It also motivates us to keep updating it with more awesome features. If you want to customize App Center or make your own Control Center extension, feel free to fork App Center on GitHub! If you want to request features to be added to the tweak, simply open an issue or submit a pull request and weโ€™ll have a look!

Reload appcenter when device is unlocked while Control Center is up

Steps to reproduce the bug:

  1. On TouchID-enabled device, use the home button to wake the device (but don't unlock yet)
  2. Pull up control center and go to App Center
  3. Use a valid finger to authenticate touch ID without pressing the home button

Bug description:
App Center doesn't recognize the change from locked to unlocked state and therefore shows the locked message.

Current workaround: reopen control center after unlocking device to reload & "unlock" App Center

Suggested fix: Somehow get notified about the device being unlocked and reload App Center (by calling controlCenterWillPresent on all App Center platter pages?) once unlocked.

Create Settings.app bundle that includes an app page scale slider

Possible items for a Settings.app bundle include:

  • Header image with app icon
  • Killswitch for the entire tweak
  • App Page scale slider (the value from here would then replace the (as of ece55b4) static #define SCALE_MULTIPLIER 1.0 in Tweak.xm)
  • Switch to allow display of already open pages on the lock screen
  • Links to each of our Twitter accounts
  • Link to this github repository for both reporting issues and looking at code

App Center page opens twice after app launch.

I have an iPhone 5S on iOS 10.1.1. Whenever I launch an app via App Center I get a duplicate App Center page that can't be closed unless I respring. Other tweaks that are modifying the CC:

  1. Noctis
  2. BlurryCC10
  3. Cream 2

That's all.

Need mana

Clearly missing is some sort of reference to a retro game. Get your stuff together! >:(

Allow enable/disable of tweak without respring

Currently the isTweakEnabled gets checked in CCUIControlCenterViewController _loadPages:

- (void)_loadPages {
  LoadPrefs();
  if (!isTweakEnabled) {
    %orig;
    return;
  }
// else load tweak into CC โ€ฆ

This requires a respring to be called again (according to brief testing).

Load preferences from file

might be done like this:

NSMutableDictionary *prefs = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/var/mobile/Library/Preferences/com.eswick.appcenter.plist"];

Make app page scale relative to screen size

Code needed in ManualLayout.xm

+(CGFloat)defaultAppPageScale {
  return (1.0 - [ACManualLayout ccEdgeSpacing]/[ACManualLayout screenSize].width)*0.909;
}

Code needed in ManualLayout.h

+(CGFloat)defaultAppPageScale;

Then in Tweak.xm change the lines that calculate the scale to call [ACManualLayout defaultAppPageScale] instead.

Hijacked Window glitch

When opening an app that is also hosted as an App Center page both the app and page go black sometimes (!?$/%ยง&"=/).

Steps to reproduce:

  1. Open Settings.app in an App Center page.
  2. Close App Center and open Settings app normally.
  3. Close the app and lock the device.
  4. Unlock the device and open the app normally

Bug:

Both the app and App Center page go black.

Workaround:

Close the App Center page to restore normal behavior.

Tweak Compilation Error

After compilation i get the following error:

clang++: error: invalid version number in '-miphoneos-version-min=10.2

Is there any way to fix this error?

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.