Open sushihangover opened 8 years ago
same here
I can confirm this issue.
The output of xcrun simctl spawn booted launchctl debug system/com.apple.SpringBoard --environment DYLD_INSERT_LIBRARIES=$PWD/SBShortcutMenuSimulator.dylib
is Service configured for next launch.
.
Then when I execute xcrun simctl spawn booted launchctl stop com.apple.SpringBoard
the simulator restarts.
And finally with echo 'com.apple.mobilecal' | nc 127.0.0.1 8000
it crashes.
Here is the crash report, in case it helps.
Thanks!
same here
Confirmed for me as well. Running version Xcode 7.2.
Application Specific Information: *\ Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SBIconController _revealMenuForIconView:presentImmediately:]: unrecognized selector sent to instance 0x7fc8e3099800' terminating with uncaught exception of type NSException abort() called CoreSimulator 201.3 - Device: iPhone 6s - Runtime: iOS 9.2 (13C75) - DeviceType: iPhone 6s
same here
Same.
The problem appears to be that the method that is called to present the Quick Actions menu has changed from - (void)_revealMenuForIconView:(id)arg1 presentImmediately:(_Bool)arg2;
to -(void)_revealMenuForIconView:(id)iconView;
. After changing the code in SBShortcutMenuListener.m
I've still been unable to get the menu to appear - it highlights the app icon but doesn't present the menu.
Workaround: You can install the iOS 9.1 Simulator through Xcode (Preferences -> Downloads). Then using this simulator with Xcode 7.2 installed, it all works fine. Of course the issue still needs to be fixed...
Any progress here? My app is already set to run on iOS 9.2 so, the above workaround does not work for me and I would really appreciate an update.
The same issue for me. I using Xcode 7.2 and run iOS 9.1 Simulator
The SBIconControler header if it helps ...
@interface SBIconController : XXUnknownSuperclass <SBApplicationShortcutMenuDelegate, BBObserverDelegate, MCProfileConnectionObserver, SBApplicationRestrictionObserver, SBFolderControllerDelegate, SBSearchGestureObserver, SBIconViewDelegate, SBIconModelDelegate, SBIconViewMapDelegate, SBIconModelApplicationDataSource, SBReachabilityObserver> { NSSet* _visibleTags; NSSet* _hiddenTags; SBIconModel* _iconModel; BOOL _needsRelayout; BOOL _sendITunesNotification; BBObserver* _bbObserver; NSMutableSet* _displayIDsWithBadgingEnabled; SBRootFolderController* _rootFolderController; SBFolder* _closingFolder; SBFolder* _folderToOpenWhenScrollingEnds; BOOL _rotating; SBIcon* _launchingIcon; SBIcon* _highlightedIcon; SBLeafIcon* _iconToReveal; SBIcon* _grabbedIcon; SBIcon* _recipientIcon; NSMutableArray* _droppedIconsAnimatingIntoPlace; NSMutableArray* _droppedIconsInToOrOutOfFolder; unsigned _numberOfDroppedIconsAnimatingIntoOrOutOfFolder; SBIcon* _lastTouchedIcon; BOOL _isEditing; BOOL _animatingFolder; BOOL _grabbedIconIsDraggedOutOfFolderView; SBFolder* _grabbedIconSourceFolder; BOOL _allowsUninstall; float _iconAlpha; float _oldScrollOffset; UITouch* _lastTouch; NSTimer* _folderSpringloadTimer; BOOL _keyboardIsRotating; BOOL _isAnimatingFolderCreation; BOOL _isAnimatingForUnscatter; BOOL _isAnimatingSignficantly; unsigned _maxIconViewsInHierarchy; SBIconColorSettings* _iconColorSettings; BOOL _reachabilityModeActive; SBApplicationShortcutMenu* _presentedShortcutMenu; BOOL _skipCancelTouchesAfterShortcutMenuDismiss; BOOL _showingSearch; _UILegibilitySettings* _legibilitySettings; NSIndexPath* _indexPathToResetTo; BOOL _performedInitialLayout; } @property(readonly, copy) NSString* debugDescription; @property(readonly, copy) NSString* description; @property(readonly, assign) Class superclass; @property(readonly, assign) unsigned hash; @property(retain, nonatomic) SBApplicationShortcutMenu* presentedShortcutMenu; @property(retain, nonatomic) _UILegibilitySettings* legibilitySettings; +(id)sharedInstance; -(void)applicationShortcutMenu:(id)menu launchApplicationWithIconView:(id)iconView; -(void)applicationShortcutMenu:(id)menu startEditingForIconView:(id)iconView; -(void)applicationShortcutMenuDidDismiss:(id)applicationShortcutMenu; -(void)applicationShortcutMenuDidPresent:(id)applicationShortcutMenu; -(void)applicationShortcutMenu:(id)menu activateShortcutItem:(id)item index:(int)index; -(id)_aggregateLoggingAppKeyForShortcutMenu:(id)shortcutMenu; -(void)_cleanupForDismissingShortcutMenu:(id)dismissingShortcutMenu; -(void)_dismissShortcutMenuAnimated:(BOOL)animated completionHandler:(id)handler; -(void)dismissShortcutMenuWithCompletionHandler:(id)completionHandler; -(void)_revealMenuForIconView:(id)iconView; -(void)_handleShortcutMenuPeek:(id)peek; -(BOOL)_canRevealShortcutMenu; -(void)handleReachabilityModeDeactivated; -(void)handleReachabilityModeActivated; -(BOOL)_shouldCancelFailedReachability; -(BOOL)_shouldRespondToReachability; -(void)_performReachabilityTransactionForActivate:(BOOL)activate immediately:(BOOL)immediately; -(void)searchGesture:(id)gesture changedPercentComplete:(float)complete; -(void)folderControllerDidReceiveCancelReachabilityAction:(id)folderController; -(void)folderControllerDidEndScrolling:(id)folderController; -(void)folderControllerShouldBeginEditing:(id)folderController; -(void)folderControllerShouldClose:(id)folderController; -(void)folderController:(id)controller draggedIconShouldDropFromListView:(id)draggedIcon; -(BOOL)folderController:(id)controller draggedIconMightDropFromListView:(id)listView; -(BOOL)folderController:(id)controller draggedIconDidMoveFromListView:(id)draggedIcon toListView:(id)listView; -(BOOL)folderController:(id)controller draggedIconDidPauseAtLocation:(CGPoint)draggedIcon inListView:(id)listView; -(Class)controllerClassForFolder:(id)folder; -(Class)_controllerClassForFolderClass:(Class)folderClass; -(id)_debugStringForIconOrder:(int)iconOrder; -(void)applicationRestrictionController:(id)controller didUpdateVisibleTags:(id)tags hiddenTags:(id)tags3; -(void)profileConnectionDidReceiveEffectiveSettingsChangedNotification:(id)profileConnection userInfo:(id)info; -(id)firstPageLeafIdentifiers; -(id)defaultIconState; -(id)allApplications; -(void)observer:(id)observer noteServerConnectionStateChanged:(BOOL)changed; -(void)observer:(id)observer updateSectionInfo:(id)info; -(void)_updateEnabledBadgesSetWithSections:(id)sections; -(BOOL)_badgesAreEnabledForSectionInfo:(id)sectionInfo; -(BOOL)iconViewDisplaysCloseBox:(id)box; -(BOOL)iconViewDisplaysBadges:(id)badges; -(BOOL)iconAllowsBadging:(id)badging; -(void)iconCloseBoxTapped:(id)tapped; -(BOOL)icon:(id)icon canReceiveGrabbedIcon:(id)icon2; -(void)iconTapped:(id)tapped; -(BOOL)iconShouldAllowTap:(id)icon; -(void)icon:(id)icon touchMoved:(id)moved; -(void)iconTouchBegan:(id)began; -(void)icon:(id)icon touchEnded:(BOOL)ended; -(void)iconHandleLongPress:(id)press; -(void)viewMap:(id)map configureIconView:(id)view; -(int)viewMap:(id)map locationForIcon:(id)icon; -(unsigned)viewMap:(id)map numberOfViewsToPrepareOfClass:(Class)aClass; -(id)viewMapShouldPrepareViewsOfClasses:(id)viewMap; -(Class)iconViewClassForIcon:(id)icon location:(int)location; -(id)windowForRecycledViewsInViewMap:(id)viewMap; -(unsigned)viewMap:(id)map maxRecycledViewsOfClass:(Class)aClass; -(void)didDeleteIconState:(id)state; -(void)didSaveIconState:(id)state; -(BOOL)canSaveIconState:(id)state; -(BOOL)canAddDownloadingIconForApplication:(id)application; -(BOOL)canAddWebClip:(id)clip; -(BOOL)supportsDock; -(unsigned)maxColCountForListInRootFolderWithInterfaceOrientation:(int)interfaceOrientation; -(unsigned)maxRowCountForListInRootFolderWithInterfaceOrientation:(int)interfaceOrientation; -(unsigned)maxIconCountForDock; -(unsigned)maxIconCountForListInFolderClass:(Class)folderClass; -(unsigned)maxListCountForFolders; -(void)noteIconStateChangedExternally; -(BOOL)importIconState:(id)state; -(void)_selectIconModel:(BOOL)model; -(void)_installedAppsDidChange:(id)_installedApps; -(void)_iconModelDidLayout:(id)_iconModel; -(void)_iconModelWillLayout:(id)_iconModel; -(void)_iconModelDidReloadIcons:(id)_iconModel; -(void)_iconModelWillReloadIcons:(id)_iconModel; -(BOOL)relayout; -(BOOL)_dismissRightEdgeSpotlight:(BOOL)spotlight; -(BOOL)_presentRightEdgeSpotlight:(BOOL)spotlight; -(void)_activateShortcutItem:(id)item fromApplication:(id)application; -(BOOL)_dismissTopEdgeSpotlight:(BOOL)spotlight; -(BOOL)_presentTopEdgeSpotlight:(BOOL)spotlight; -(void)_searchViewControllerIsPresented:(BOOL)presented fromBreadcrumb:(BOOL)breadcrumb; -(BOOL)dismissSpotlightIfNecessary; -(BOOL)dismissSpotlightAnimated:(BOOL)animated; -(BOOL)presentSpotlightFromEdge:(unsigned)edge fromBreadcrumb:(BOOL)breadcrumb animated:(BOOL)animated; -(void)_lockScreenUIWillLock:(id)_lockScreenUI; -(void)_noteUserIsInteractingWithIcons; -(BOOL)isIconVisiblyRepresented:(id)represented; -(BOOL)_iconListIndexIsValid:(int)valid; -(void)layoutIconLists:(float)lists domino:(BOOL)domino forceRelayout:(BOOL)relayout; -(void)compactIconsInIconListsInFolder:(id)folder moveNow:(BOOL)now limitToIconList:(id)iconList; -(void)compactRootIconLists; -(void)compactFolders:(id)folders; -(void)animationDidStop:(id)animation finished:(BOOL)finished; -(void)folderSpringloadTimerFired; -(void)noteGrabbedIconLocationChangedWithTouch:(id)touch; -(void)_resetFolderSpringloadTimer; -(void)_cancelFolderSpringloadTimer; -(id)recipientIcon; -(void)setLastTouchedIcon:(id)icon; -(id)lastTouchedIcon; -(void)setRecipientIcon:(id)icon duration:(double)duration; -(id)grabbedIcon; -(void)_iconDropDidFinish:(id)_iconDrop; -(void)setGrabbedIcon:(id)icon; -(void)_dropIcon:(id)icon withInsertionPath:(id)insertionPath; -(void)fixupBouncedIconsInFolder:(id)folder startingWithIndex:(int)index; -(void)setLastTouch:(id)touch; -(void)noteViewCovered; -(void)restoreScrollingAndRotationAfterUngrab; -(void)moveIconFromWindow:(id)window toIconList:(id)iconList; -(void)_moveIconToContentView:(id)contentView; -(void)_keyboardWillHide:(id)_keyboard; -(void)_keyboardWillShow:(id)_keyboard; -(BOOL)isEditing; -(void)setIsEditing:(BOOL)editing; -(void)iconWasTapped:(id)tapped; -(void)clearHighlightedIcon; -(void)launchIcon:(id)icon; -(void)removeAllIconAnimations; -(BOOL)isAnimatingForUnscatter; -(void)unscatterAnimated:(BOOL)animated afterDelay:(double)delay withCompletion:(id)completion; -(void)scatterAnimated:(BOOL)animated withCompletion:(id)completion; -(void)setIdleModeText:(id)text; -(void)updateNumberOfRowsWithDuration:(double)duration; -(void)uninstallIcon:(id)icon animate:(BOOL)animate; -(void)uninstallIcon:(id)icon; -(BOOL)canUninstallIcon:(id)icon; -(BOOL)allowsUninstall; -(void)uninstallIconAnimationCompletedForIcon:(id)icon; -(void)removeIcon:(id)icon compactFolder:(BOOL)folder; -(void)removeIcon:(id)icon andCompactFolder:(BOOL)folder folderRef:(id)ref; -(id)insertIcon:(id)icon intoListView:(id)view iconIndex:(int)index moveNow:(BOOL)now; -(id)insertIcon:(id)icon intoListView:(id)view iconIndex:(int)index moveNow:(BOOL)now pop:(BOOL)pop; -(id)insertIcon:(id)icon atIndexPath:(id)indexPath moveNow:(BOOL)now; -(id)insertIcon:(id)icon atIndexPath:(id)indexPath moveNow:(BOOL)now pop:(BOOL)pop; -(id)placeIcon:(id)icon atIndexPath:(id)indexPath moveNow:(BOOL)now layoutNow:(BOOL)now4 pop:(BOOL)pop; -(void)scrollToIconToRevealAnimated:(BOOL)revealAnimated; -(void)finishInstallingIconAnimated:(BOOL)animated; -(void)setIconToReveal:(id)reveal revealingPrevious:(BOOL)previous; -(id)iconToReveal; -(void)replaceIconAtPath:(id)path withIcon:(id)icon saveState:(BOOL)state; -(void)addNewIconToDesignatedLocation:(id)designatedLocation animate:(BOOL)animate scrollToList:(BOOL)list saveIconState:(BOOL)state; -(void)addNewIconsToDesignatedLocations:(id)designatedLocations saveIconState:(BOOL)state; -(void)viewWillTransitionToSize:(CGSize)view withTransitionCoordinator:(id)transitionCoordinator; -(void)_didRotateFromInterfaceOrientation:(int)interfaceOrientation; -(void)_willAnimateRotationToInterfaceOrientation:(int)interfaceOrientation duration:(double)duration; -(void)_willRotateToInterfaceOrientation:(int)interfaceOrientation duration:(double)duration; -(void)handleHomeButtonTap; -(BOOL)scrollToIconListAtIndex:(int)index animate:(BOOL)animate; -(void)scrollToIconListContainingIcon:(id)iconListContainingIcon animate:(BOOL)animate; -(BOOL)_shouldLockItemsInStoreDemoMode; -(BOOL)_iconCanBeGrabbed:(id)grabbed; -(id)dropDestinationIconList; -(int)dropDestinationIconListIndex; -(id)currentFolderIconList; -(id)dockListView; -(id)currentRootIconList; -(void)resetCurrentVisibleIconListImageVisibilityAndJitterState; -(void)updateCurrentIconListIndexAndVisibility:(BOOL)visibility; -(void)updateCurrentIconListIndexAndVisibility; -(BOOL)isFolderScrolling; -(BOOL)isScrolling; -(void)showCarrierDebuggingAlertIfNeeded; -(void)showInfoAlertIfNeeded:(BOOL)needed; -(void)showDeveloperBuildExpirationAlertIfNecessaryFromLockscreen:(BOOL)lockscreen toLauncher:(BOOL)launcher; -(void)_iconVisibilityChanged:(id)changed; -(void)_resetRootIconLists; -(id)folderNameForDisplayID:(id)displayID; -(void)_prepareToResetRootIconLists; -(id)folderIconListAtIndex:(unsigned)index; -(id)rootIconListAtIndex:(int)index; -(int)currentFolderIconListIndex; -(int)currentIconListIndex; -(id)_currentFolderController; -(id)_openFolderController; -(id)_rootFolderController; -(id)rootFolder; -(int)orientation; -(int)_effectiveOrientation; -(BOOL)shouldAutorotate; -(unsigned)supportedInterfaceOrientations; -(void)viewWillLayoutSubviews; -(id)contentView; -(void)loadView; -(void)dealloc; -(id)model; -(id)init; -(void)_runScrollFolderTest:(int)test; -(void)_runFolderCloseTest; -(void)_runFolderOpenTest; -(unsigned)_folderRowsForFolder:(id)folder; -(unsigned)_folderRowsForFolder:(id)folder inOrientation:(int)orientation; -(CGRect)_contentViewRelativeFrameForIcon:(id)icon; -(void)shiftFolderViewsForKeyboardAppearing:(BOOL)keyboardAppearing keyboardHeight:(float)height; -(BOOL)allowsNestedFolders; -(id)_proposedFolderNameForGrabbedIcon:(id)grabbedIcon recipientIcon:(id)icon; -(void)_snapshotFadeDidStop:(id)_snapshotFade finished:(id)finished snapshot:(id)snapshot; -(void)_addToFolderAnimation:(id)folderAnimation didFinish:(id)finish context:(id)context; -(void)_compactRootListsAfterFolderCloseWithAnimation:(BOOL)animation; -(void)_cleanupForClosingFolderAnimated:(BOOL)closingFolderAnimated; -(void)_folderDidFinishOpenClose:(BOOL)_folder animated:(BOOL)animated; -(void)_animateFolder:(id)folder open:(BOOL)open animated:(BOOL)animated withCompletion:(id)completion; -(void)_folderControllerDidReceiveCancelReachabilityAction:(id)_folderController; -(void)_disableReachabilityImmediately:(BOOL)immediately; -(void)_presentNotificationCenterForReachability; -(void)replaceFolderIcon:(id)icon byContainedIcon:(id)icon2 animated:(BOOL)animated; -(void)addIcons:(id)icons intoFolderIcon:(id)icon animated:(BOOL)animated openFolderOnFinish:(BOOL)finish complete:(id)complete; -(BOOL)isDroppingIcon:(id)icon; -(BOOL)isDroppingIconsInOrOutOfFolder; -(void)_moveDroppedIconsToLocation:(int)location; -(void)_dropIconOutOfClosingFolder:(id)closingFolder withInsertionPath:(id)insertionPath; -(void)_dropIconIntoOpenFolder:(id)folder withInsertionPath:(id)insertionPath; -(id)createNewFolderFromRecipientIcon:(id)recipientIcon grabbedIcon:(id)icon; -(void)_closeFolderController:(id)controller animated:(BOOL)animated withCompletion:(id)completion; -(void)closeFolderAnimated:(BOOL)animated; -(void)closeFolderAnimated:(BOOL)animated withCompletion:(id)completion; -(void)openFolder:(id)folder animated:(BOOL)animated; -(id)openFolder; -(BOOL)hasOpenFolder; -(BOOL)hasAnimatingFolder; -(void)_setAnimatingFolderCreation:(BOOL)creation; -(void)_setFolderToOpenAfterScrolling:(id)openAfterScrolling; -(void)_setHasAnimatingFolder:(BOOL)folder; -(void)noteFolderAnimationStateDidChange; -(id)iconListViewAtIndex:(unsigned)index inFolder:(id)folder createIfNecessary:(BOOL)necessary; -(void)getListView:(id)view folder:(id)folder relativePath:(id)path forIndexPath:(id)indexPath createIfNecessary:(BOOL)necessary; @end
Hi,遇到同样的问题,在9.2模拟器上运行crash。
I hit the exact same issue as described above..
same problem
It works if you download iOS 9.1 for the Simulator (Hardware->Devices->Manage Device) then click the + at the bottom left to Add Simulator. Then change iOS to iOS 9.1 (might have to Download it)
thank you ! I willl download iOS 9.1 for the Simulator.
Hi, when run command line xcrun simctl spawn booted launchctl debug system/com.apple.SpringBoard --environment DYLD_INSERT_LIBRARIES=$PWD/SBShortcutMenuSimulator.dylib Service configured for next launch.
, then the simulator restart, and when I run echo 'com.apple.mobilecal' | nc 127.0.0.1 8000, then the SpringBoard crash, can you tell me how to fix it?
Same here.
Get PoomSmart's PR into the project or your own copy to make it work across OSes
Get PoomSmart's PR into the project or your own copy to make it work across OSes
That's #18.
Using the 9.2 Sim and matching Xcode 7.2 Build version 7C68
Springboard crashes when 'echo
com.apple.mobilecal' | nc 127.0.0.1 8000
is performed.