2016-04-14 11 views
0

ich könnte wirklich etwas Hilfe brauchen ...Unable Heute Verlängerung mit Tabellenansicht

Ich versuche heute eine Erweiterung zu nutzen, um ein paar Sachen zu bekommen und aktualisieren Sie eine Zelle mit Daten aus einer SOAP-Anforderung zu laden. Es funktioniert wie ein Zauber im Simulator, aber auf einem tatsächlichen Gerät (iPhone 6 Plus) aktualisiert Widget die Zelle und wechselt kurz darauf zu "Unable to Load".

Die App zeigt> 20 MB im Profiler und ich lese die maximale Größe beträgt nur ca. 10 MB. Aber wie kann das sein, wenn ich nur eine einzige Tabellenansichtszelle zeige? Das gesamte SOAP-Framework hat 2.6 MB ... Das macht mich verrückt ...

Und ... würde nicht ein Speicherfehler im Protokoll statt "Feature nicht in Erweiterungen des Typs com.apple .widget-Erweiterung "? Ich glaube nicht, dass mein Absturz mit der Größe zusammenhängt, der folgende Screenshot zeigt den Absturz mit einer Widgetgröße von 4 MB.

Hat jemand Erfahrung mit dieser Art von Kampf?

Was kann ich bieten:

Mein TodayViewController:

import CoreData 
import NotificationCenter 

class TodayViewController: UITableViewController, NCWidgetProviding { 

    struct CellConstants { 
     static let parkingProcess = "ParkingProcessCell" 
     static let login = "LoginCell" 
     static let noTransactions = "NoTransactionsCell" 
    } 

    var loadedParkingProcesses: [MCParkingProcess] = [] 
    var loggedInInternal = false 
    var noTransactions = false 
    var reload = true 
    var fetchingData = false 
    var loggedIn: Bool { 
     get { 
      let defaults = NSUserDefaults(suiteName:  "group.not.relevant.here") 
      loggedInInternal = defaults?.stringForKey("username") != nil && 
      defaults?.stringForKey("password") != nil 
       ? true : false 

      return loggedInInternal 
     } 
    } 

    func resetTimer() { 
     print("timer reset") 
     reload = true 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     print("memory warning!") 
    } 

    func loadData(username: String, password: String) { 

     if fetchingData { 
      return 
     } 

     fetchingData = true 

     guard reload == true else { 
      let _ = NSTimer(timeInterval: 10, target: self, selector:  #selector(TodayViewController.resetTimer), userInfo: nil,  repeats: false) 
      return 
     } 

     reload = false 

     let locale = NSLocale.preferredLanguages()[ 0].componentsSeparatedByString("-")[0] 
     MCSoapClient.sharedInstance().loadRunningParkingProcessesForUsername (username, password: password, language: locale, completion: {  statusCode, result in 

      guard let dict = result as? [String: AnyObject] else { 
       // no dict. something's wrong. 
       return 
      } 

      if Int(dict["statuscode"] as! String)! % 100 != 0 { 
       // some error from our backend 
       return 
      } 

      if let parkingProcess = dict["parkvorgang"] { 
       self.noTransactions = false 

       if let pp = parkingProcess as? [AnyObject] { 
        // more than one 
        self.loadedParkingProcesses =  MCParkingProcess.parkingProcessesFromJSON(pp) as! [ MCParkingProcess] 
       } else { 
        // only one process 
        self.loadedParkingProcesses = [MCParkingProcess( fromJSON: parkingProcess as! [String: AnyObject])] 
       } 
      } else { 
       // no transactions 
       self.noTransactions = true 
      } 

      self.fetchingData = false 

      dispatch_async(dispatch_get_main_queue(), { 
       self.tableView.reloadData() 
       self.resetContentSize() 
      }) 

      }, failed: { result, error in 

      print("failed with error: \(error)") 
      print("result: \(result)") 
      dispatch_async(dispatch_get_main_queue(), { 
       self.tableView.reloadData() 
       self.resetContentSize() 
      }) 

      self.fetchingData = false 
     }) 
     self.resetContentSize() 
    } 

    override func viewDidLoad() { 
     tableView.backgroundColor = UIColor.clearColor() 
    } 

    override func viewWillAppear(animated: Bool) { 
     performFetch() 
    } 

    override func tableView(tableView: UITableView, 
     numberOfRowsInSection section: Int) -> Int { 
      return !loggedIn || noTransactions 
       ? 1 
       : loadedParkingProcesses.count 
    } 

    func RGBColor(r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat) ->  UIColor { 
     return UIColor(red: (r/255), green: (g/255), blue: (b/255),  alpha: (a)) 
    } 

    func loadDetailsForCell(cell: MCParkingProcessCell, withParkingProcess  parkingProcess: MCParkingProcess) { 

     let locale = NSLocale.preferredLanguages()[ 0].componentsSeparatedByString("-")[0] 
     let defaults = NSUserDefaults(suiteName: "group.not.relevant.here") 
     if let username = defaults?.stringForKey("username") 
     , password = defaults?.stringForKey("password") { 

       // Load current parkingProcess costs 
       MCSoapClient.sharedInstance().loadCurrentCostsforParkingProc essesID(parkingProcess.ID, username: username, password:  password, parkingProcessStartTimeStamp: "", language:  locale, completion: { statusCode, result in 

        guard let dict = result as? [String: AnyObject] else { 
         // no dict. something's wrong. 
         return 
        } 

        if Int(dict["statuscode"] as! String)! % 100 != 0 { 
         // some error from our backend 
         return 
        } 

        var elapsedMinutes = Int(dict["dauer"] as! String)! 
        if parkingProcess.parkingZone.isAboZone { 
         let serverTime = Int(dict["serverzeit"] as! String) 
         let usedParkingTimeInSeconds = Double(serverTime!)  - parkingProcess.startedAt.timeIntervalSince1970 
         elapsedMinutes = Int(usedParkingTimeInSeconds)/60 
        } 

        // update currentCosts 
        parkingProcess.updateCurrentCostsFromJSON( dict["parkvorgang"] as? [String: AnyObject]) 
        parkingProcess.updateCurrentParkingTime(elapsedMinutes) 

        // set label text 
        let someNumber = parkingProcess.currentCosts 
        let numberFormatter: NSNumberFormatter =  NSNumberFormatter() 
        numberFormatter.numberStyle =  NSNumberFormatterStyle.DecimalStyle 
        numberFormatter.minimumFractionDigits = 2 
        numberFormatter.maximumFractionDigits = 2 
        numberFormatter.decimalSeparator = "," 
        cell.costsLabel.text = "\( numberFormatter.stringFromNumber(someNumber)!) €" 
        cell.timeLabel.text = String.formatMinutesToCorrectTime( parkingProcess.currentParkingTime.intValue) 

        }, failed: { result, error in 
        print("failed with error: \(error)") 
        print("result: \(result)") 
       }) 
     } 
    } 

    func configureRunningParkingProcessCell(cell: MCParkingProcessCell,  withParkingProcess parkingProcess: MCParkingProcess) { 
     cell.backgroundView?.backgroundColor = UIColor.clearColor() 
     cell.addressLabel.textColor = UIColor.whiteColor() 
     cell.parkingZoneIDLabel.text = parkingProcess.parkingZone.number 
     cell.addressLabel.text = parkingProcess.parkingZone.parkingZoneID 
     cell.costsLabel.text = parkingProcess.parkingZone.costs 
     cell.carPlateLabel.text = parkingProcess.usedCarPlate 
     cell.maxDurationLabel.text = NSDateFormatter.localizedStringFromDate (parkingProcess.endedAt, dateStyle:  NSDateFormatterStyle.MediumStyle, timeStyle:  NSDateFormatterStyle.ShortStyle) 
     cell.dateLabel.text = NSDateFormatter.localizedStringFromDate( parkingProcess.startedAt, dateStyle:  NSDateFormatterStyle.MediumStyle, timeStyle:  NSDateFormatterStyle.ShortStyle) 

     // starts an async request to get current costs and time 
     self.loadDetailsForCell(cell, withParkingProcess: parkingProcess) 
    } 

    override func tableView(tableView: UITableView, 
     cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

      if !loggedInInternal { 
       let cell = tableView.dequeueReusableCellWithIdentifier( CellConstants.login) as! LoginCell 
       cell.extensionContext = extensionContext 
       return cell 
      } 

      if noTransactions { 
       return tableView.dequeueReusableCellWithIdentifier( CellConstants.noTransactions)! 
      } 

      let cell = tableView.dequeueReusableCellWithIdentifier( CellConstants.parkingProcess, forIndexPath: indexPath) as!  MCParkingProcessCell 

      // empty here. will be filled with second request 
      cell.timeLabel.text = "" 
      cell.costsLabel.text = "" 

      cell.accessoryView = MSCellAccessory(type:  MSCellAccessoryType.DISCLOSURE_INDICATOR, color: RGBColor(91,  g: 181, b: 148, a: 1)) 

      configureRunningParkingProcessCell(cell, withParkingProcess:  self.loadedParkingProcesses[indexPath.row]) 

      return cell 
    } 

    override func tableView(tableView: UITableView, heightForRowAtIndexPath  indexPath: NSIndexPath) -> CGFloat { 
     return !loggedInInternal || noTransactions 
      ? 50 
      : 120 
    } 

    func resetContentSize() { 
     dispatch_async(dispatch_get_main_queue(), { 
       self.preferredContentSize = self.tableView.contentSize 
     }) 
    } 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     resetContentSize() 
    } 

    override func viewDidAppear(animated: Bool) { 
     super.viewDidAppear(animated) 
     resetContentSize() 
    } 

    func performFetch() { 

     let defaults = NSUserDefaults(suiteName: "group.not.relevant.here") 

     if let username = defaults?.stringForKey("username") 
     , password = defaults?.stringForKey("password") { 
       loadData(username, password: password) 
     } else { 
      // not updated in loaddata(), so it is here 
      dispatch_async(dispatch_get_main_queue(), { 
       self.tableView.reloadData() 
       self.resetContentSize() 
      }) 
     } 
    } 

    func widgetMarginInsetsForProposedMarginInsets 
    (defaultMarginInsets: UIEdgeInsets) -> (UIEdgeInsets) { 
     return UIEdgeInsetsZero 
    } 

    func widgetPerformUpdateWithCompletionHandler(
     completionHandler: ((NCUpdateResult) -> Void)) { 

      performFetch() 

      completionHandler(NCUpdateResult.NoData) 
    } 

    override func tableView(tableView: UITableView, 
     didSelectRowAtIndexPath indexPath: NSIndexPath) { 

      if !loggedInInternal || noTransactions { 
       return 
      } 

      let urlAsString = "mcsmartparking://parkingProcess=\( loadedParkingProcesses[indexPath.row].ID)" 
      let url = NSURL(string: urlAsString) 
      self.extensionContext!.openURL(url!, completionHandler: nil) 
      tableView.deselectRowAtIndexPath(indexPath, animated: false) 
    } 
} 

Und mein Fehler:

2016-04-14 12:56:08.322 TodayExtension_Dev[11656:320804] *** Assertion failure in void _UIApplicationAssertForExtensionType(NSArray *__strong)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.60.10/UIApplication.m:2521 
* thread #1: tid = 0x4e524, 0x00000001801d7f48 libobjc.A.dylib`objc_exception_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 
    * frame #0: 0x00000001801d7f48 libobjc.A.dylib`objc_exception_throw 
    frame #1: 0x0000000180b72d20 CoreFoundation`+[NSException raise:format:arguments:] + 108 
    frame #2: 0x00000001814f81c0 Foundation`-[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 88 
    frame #3: 0x0000000185f76ff0 UIKit`_UIApplicationAssertForExtensionType + 484 
    frame #4: 0x0000000186143818 UIKit`_UIAlertControllerCommonInit + 112 
    frame #5: 0x0000000186143aa8 UIKit`-[UIAlertController initWithNibName:bundle:] + 104 
    frame #6: 0x0000000186143b24 UIKit`+[UIAlertController alertControllerWithTitle:message:preferredStyle:] + 100 
    frame #7: 0x0000000100133518 TodayExtension_Dev`__20+[a5987398 a2489290]_block_invoke + 64 
    frame #8: 0x00000001805bd4bc libdispatch.dylib`_dispatch_call_block_and_release + 24 
    frame #9: 0x00000001805bd47c libdispatch.dylib`_dispatch_client_callout + 16 
    frame #10: 0x00000001805c2b84 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1844 
    frame #11: 0x0000000180b28df0 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 
    frame #12: 0x0000000180b26c58 CoreFoundation`__CFRunLoopRun + 1628 
    frame #13: 0x0000000180a50e80 CoreFoundation`CFRunLoopRunSpecific + 384 
    frame #14: 0x0000000182338088 GraphicsServices`GSEventRunModal + 180 
    frame #15: 0x0000000185d3a0c8 UIKit`UIApplicationMain + 204 
    frame #16: 0x0000000180814ce0 libxpc.dylib`_xpc_objc_main + 784 
    frame #17: 0x00000001808169dc libxpc.dylib`xpc_main + 200 
    frame #18: 0x0000000181633d60 Foundation`-[NSXPCListener resume] + 172 
    frame #19: 0x0000000187e72c48 PlugInKit`-[PKService run] + 544 
    frame #20: 0x0000000187e728dc PlugInKit`+[PKService main] + 56 
    frame #21: 0x0000000187e72c6c PlugInKit`+[PKService _defaultRun:arguments :] + 20 
    frame #22: 0x0000000181446058 libextension.dylib`NSExtensionMain + 64 
    frame #23: 0x00000001805ee8b8 libdyld.dylib`start + 4 
* thread #1: tid = 0x4e524, 0x00000001801ca7d4 libc++abi.dylib`__cxa_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 
    * frame #0: 0x00000001801ca7d4 libc++abi.dylib`__cxa_throw 
    frame #1: 0x00000001801d8094 libobjc.A.dylib`objc_exception_throw + 332 
    frame #2: 0x0000000180b72d20 CoreFoundation`+[NSException raise:format: arguments:] + 108 
    frame #3: 0x00000001814f81c0 Foundation`-[NSAssertionHandler  handleFailureInFunction:file:lineNumber:description:] + 88 
    frame #4: 0x0000000185f76ff0 UIKit`_UIApplicationAssertForExtensionType +  484 
    frame #5: 0x0000000186143818 UIKit`_UIAlertControllerCommonInit + 112 
    frame #6: 0x0000000186143aa8 UIKit`-[UIAlertController initWithNibName: bundle:] + 104 
    frame #7: 0x0000000186143b24 UIKit`+[UIAlertController  alertControllerWithTitle:message:preferredStyle:] + 100 
    frame #8: 0x0000000100133518 TodayExtension_Dev`__20+[a5987398  a2489290]_block_invoke + 64 
    frame #9: 0x00000001805bd4bc libdispatch. dylib`_dispatch_call_block_and_release + 24 
    frame #10: 0x00000001805bd47c libdispatch.dylib`_dispatch_client_callout  + 16 
    frame #11: 0x00000001805c2b84 libdispatch. dylib`_dispatch_main_queue_callback_4CF + 1844 
    frame #12: 0x0000000180b28df0 CoreFoundation `__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 
    frame #13: 0x0000000180b26c58 CoreFoundation`__CFRunLoopRun + 1628 
    frame #14: 0x0000000180a50e80 CoreFoundation`CFRunLoopRunSpecific + 384 
    frame #15: 0x0000000182338088 GraphicsServices`GSEventRunModal + 180 
    frame #16: 0x0000000185d3a0c8 UIKit`UIApplicationMain + 204 
    frame #17: 0x0000000180814ce0 libxpc.dylib`_xpc_objc_main + 784 
    frame #18: 0x00000001808169dc libxpc.dylib`xpc_main + 200 
    frame #19: 0x0000000181633d60 Foundation`-[NSXPCListener resume] + 172 
    frame #20: 0x0000000187e72c48 PlugInKit`-[PKService run] + 544 
    frame #21: 0x0000000187e728dc PlugInKit`+[PKService main] + 56 
    frame #22: 0x0000000187e72c6c PlugInKit`+[PKService _defaultRun:arguments :] + 20 
    frame #23: 0x0000000181446058 libextension.dylib`NSExtensionMain + 64 
    frame #24: 0x00000001805ee8b8 libdyld.dylib`start + 4 
2016-04-14 12:56:08.401 TodayExtension_Dev[11656:320804] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Feature not available in extensions of type com.apple.widget-extension' 
*** First throw call stack: 
(0x180b72e50 0x1801d7f80 0x180b72d20 0x1814f81c0 0x185f76ff0 0x186143818 0x186143aa8 0x186143b24 0x100133518 0x1805bd4bc 0x1805bd47c 0x1805c2b84 0x180b28df0 0x180b26c58 0x180a50e80 0x182338088 0x185d3a0c8 0x180814ce0 0x1808169dc 0x181633d60 0x187e72c48 0x187e728dc 0x187e72c6c 0x181446058 0x1805ee8b8) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

Und ein Screenshot des Absturzes:

enter image description here

Mehr noch:

dlopen(/System/Library/Frameworks/CoreText.framework/CoreText, 0x00000002) 
    dlopen(/System/Library/Frameworks/CoreText.framework/CoreText) ==> 0xffeeddcc00007000 
dlsym(0xffeeddcc00007000, CTFontCreateWithGraphicsFont) 
    dlsym(0xffeeddcc00007000, CTFontCreateWithGraphicsFont) ==> 0x183a68cf4 
dlsym(0xffeeddcc00007000, CTFontGetGlyphsAndAdvancesForCharacterRange) 
    dlsym(0xffeeddcc00007000, CTFontGetGlyphsAndAdvancesForCharacterRange) ==> 0x183a79754 
dlsym(0xffeeddcc00007000, CTFontCopyAvailableTables) 
    dlsym(0xffeeddcc00007000, CTFontCopyAvailableTables) ==> 0x183abe2b8 
dlsym(0xffeeddcc00007000, CTFontCopyCharacterSet) 
    dlsym(0xffeeddcc00007000, CTFontCopyCharacterSet) ==> 0x183a6c2dc 
dlsym(0xffeeddcc00007000, CTFontCopyGraphicsFont) 
    dlsym(0xffeeddcc00007000, CTFontCopyGraphicsFont) ==> 0x183a67acc 
dlsym(0xffeeddcc00007000, CTFontGetUnitsPerEm) 
    dlsym(0xffeeddcc00007000, CTFontGetUnitsPerEm) ==> 0x183a8fe20 
dlsym(0xffeeddcc00007000, CTFontGetAscent) 
    dlsym(0xffeeddcc00007000, CTFontGetAscent) ==> 0x183a6a380 
dlsym(0xffeeddcc00007000, CTFontGetDescent) 
    dlsym(0xffeeddcc00007000, CTFontGetDescent) ==> 0x183a6c020 
dlsym(0xffeeddcc00007000, CTFontGetLeading) 
    dlsym(0xffeeddcc00007000, CTFontGetLeading) ==> 0x183a6c0bc 
dlsym(0xffeeddcc00007000, CTFontIsLastResort) 
    dlsym(0xffeeddcc00007000, CTFontIsLastResort) ==> 0x183a6c274 
dlsym(0xffeeddcc00007000, CTFontGetSymbolicTraits) 
    dlsym(0xffeeddcc00007000, CTFontGetSymbolicTraits) ==> 0x183a84a30 
dlsym(0xffeeddcc00007000, CTFontGetSize) 
    dlsym(0xffeeddcc00007000, CTFontGetSize) ==> 0x183a65118 
dlsym(0xffeeddcc00007000, CTFontCopyFamilyName) 
    dlsym(0xffeeddcc00007000, CTFontCopyFamilyName) ==> 0x183a6a088 
dlsym(0xffeeddcc00007000, CTFontCopyFullName) 
    dlsym(0xffeeddcc00007000, CTFontCopyFullName) ==> 0x183a8febc 
dlsym(0xffeeddcc00007000, CTFontSwapDefaultSize) 
    dlsym(0xffeeddcc00007000, CTFontSwapDefaultSize) ==> 0x183a65114 
dlsym(0xffeeddcc00007000, CTFontGetClientObject) 
    dlsym(0xffeeddcc00007000, CTFontGetClientObject) ==> 0x183a651a0 
dlsym(0xffeeddcc00007000, CTFontSetClientObject) 
    dlsym(0xffeeddcc00007000, CTFontSetClientObject) ==> 0x183a698a4 
dlsym(0xffeeddcc00007000, CTFontDescriptorCreateForUIType) 
    dlsym(0xffeeddcc00007000, CTFontDescriptorCreateForUIType) ==> 0x183a77ac0 
dlsym(0xffeeddcc00007000, CTFontDescriptorCreateCopyWithSymbolicTraits) 
    dlsym(0xffeeddcc00007000, CTFontDescriptorCreateCopyWithSymbolicTraits) ==> 0x183a828d0 
dlsym(0xffeeddcc00007000, CTFontCreateWithFontDescriptorAndOptions) 
    dlsym(0xffeeddcc00007000, CTFontCreateWithFontDescriptorAndOptions) ==> 0x183abc2c8 
dlsym(0xffeeddcc00007000, CTFontCopyFontDescriptor) 
    dlsym(0xffeeddcc00007000, CTFontCopyFontDescriptor) ==> 0x183a616f0 
dlsym(0xffeeddcc00007000, CTFontDescriptorIsSystemUIFont) 
    dlsym(0xffeeddcc00007000, CTFontDescriptorIsSystemUIFont) ==> 0x183a6a06c 
dlsym(0xffeeddcc00007000, CTFontManagerInstalledFontsChanged) 
    dlsym(0xffeeddcc00007000, CTFontManagerInstalledFontsChanged) ==> 0x183b35e04 
dlsym(0xffeeddcc00007000, CTFontRemoveFromCaches) 
    dlsym(0xffeeddcc00007000, CTFontRemoveFromCaches) ==> 0x183abf878 
dlopen(/System/Library/PrivateFrameworks/UIFoundation.framework/UIFoundation, 0x00000002) 
    dlopen(/System/Library/PrivateFrameworks/UIFoundation.framework/UIFoundation) ==> 0xffeeddcc00009000 
dlsym(0xffeeddcc00009000, UINewFont) 
    dlsym(0xffeeddcc00009000, UINewFont) ==> 0x186506a24 
dlopen(/System/Library/PrivateFrameworks/FontServices.framework/libGSFontCache.dylib, 0x00000002) 
dyld: loaded: /System/Library/PrivateFrameworks/FontServices.framework/libGSFontCache.dylib 
dyld_image_path_containing_address(0x1958cc000) 
dlopen(/System/Library/PrivateFrameworks/FontServices.framework/libGSFontCache.dylib, 0x00000010) 
    dlopen(/System/Library/PrivateFrameworks/FontServices.framework/libGSFontCache.dylib) ==> 0xffeeddcc0002d400 
    dlopen(/System/Library/PrivateFrameworks/FontServices.framework/libGSFontCache.dylib) ==> 0xffeeddcc0002d400 
dlsym(0xffeeddcc0002d400, GSFontCacheGetDictionary) 
    dlsym(0xffeeddcc0002d400, GSFontCacheGetDictionary) ==> 0x1958cd1f0 
dlopen(/System/Library/Frameworks/UIKit.framework/UIKit, 0x00000002) 
    dlopen(/System/Library/Frameworks/UIKit.framework/UIKit) ==> 0xffeeddcc00009100 
dlsym(0xffeeddcc00009100, _UIApplicationUsesAlternateUI) 
    dlsym(0xffeeddcc00009100, _UIApplicationUsesAlternateUI) ==> 0x186810224 
dlsym(0xffeeddcc00009100, _UIApplicationLinkedOnOrAfter) 
    dlsym(0xffeeddcc00009100, _UIApplicationLinkedOnOrAfter) ==> 0x186563cc0 
dlopen(/usr/lib/libAccessibility.dylib, 0x00000005) 
    dlopen(/usr/lib/libAccessibility.dylib) ==> 0xffeeddcc00008500 
dlsym(0xffeeddcc00008500, _AXSEnhanceTextLegibilityEnabled) 
    dlsym(0xffeeddcc00008500, _AXSEnhanceTextLegibilityEnabled) ==> 0x184a709d8 
dlopen(/System/Library/Frameworks/UIKit.framework/UIKit, 0x00000002) 
    dlopen(/System/Library/Frameworks/UIKit.framework/UIKit) ==> 0xffeeddcc00009100 
dlopen(/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib, 0x00000005) 
    dlopen(/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib) ==> 0xffeeddcc00006d00 
dlsym(0xffeeddcc00006d00, FPFontCreateFontsWithPath) 
    dlsym(0xffeeddcc00006d00, FPFontCreateFontsWithPath) ==> 0x1838f4b68 
dlsym(0xffeeddcc00006d00, FPFontRetain) 
    dlsym(0xffeeddcc00006d00, FPFontRetain) ==> 0x1838f7f30 
dlsym(0xffeeddcc00006d00, FPFontCopyTable) 
    dlsym(0xffeeddcc00006d00, FPFontCopyTable) ==> 0x1838f81e0 
dlsym(0xffeeddcc00006d00, FPFontCopyTable) 
    dlsym(0xffeeddcc00006d00, FPFontCopyTable) ==> 0x1838f81e0 
dlsym(0xffeeddcc00006d00, FPFontCopyNames) 
    dlsym(0xffeeddcc00006d00, FPFontCopyNames) ==> 0x1838f88ec 
dlsym(0xffeeddcc00006d00, FPFontGetPostScriptName) 
    dlsym(0xffeeddcc00006d00, FPFontGetPostScriptName) ==> 0x1838f8bd4 
dlsym(0xffeeddcc00006d00, FPFontGetNumberOfGlyphs)... 
dlsym(0xffeeddcc00006d00, FPFontIsBitmapOnly) 
    dlsym(0xffeeddcc00006d00, FPFontIsBitmapOnly) ==> 0x1838fd100 
dlsym(0xffeeddcc00006d00, FPFontGetGlyphIdealAdvanceWidth) 
    dlsym(0xffeeddcc00006d00, FPFontGetGlyphIdealAdvanceWidth) ==> 0x1838fd28c 
dlsym(0xffeeddcc00006d00, FPFontGetUnitsPerEm) 
    dlsym(0xffeeddcc00006d00, FPFontGetUnitsPerEm) ==> 0x1838fa254 
dlopen(/System/Library/Frameworks/UIKit.framework/UIKit, 0x00000002) 
    dlopen(/System/Library/Frameworks/UIKit.framework/UIKit) ==> 0xffeeddcc00009100 
dlsym(0xffeeddcc00009100, UIGraphicsGetCurrentContext) 
    dlsym(0xffeeddcc00009100, UIGraphicsGetCurrentContext) ==> 0x1865718e8 
dlsym(0xffeeddcc00006d00, FPFontIsBitmapOnly) 
    dlsym(0xffeeddcc00006d00, FPFontIsBitmapOnly) ==> 0x1838fd100 
dlsym(0xffeeddcc00006d00, FPFontCopyGlyphPath) 
    dlsym(0xffeeddcc00006d00, FPFontCopyGlyphPath) ==> 0x1838fdbb0 
dlopen(/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics, 0x00000009) 
    dlopen(/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics) ==> 0xffeeddcc00004000 
dlsym(0xffeeddcc00004000, CGPathCreateMutable) 
    dlsym(0xffeeddcc00004000, CGPathCreateMutable) ==> 0x1829117fc 
dlsym(0xffeeddcc00004000, CGPathRelease) 
    dlsym(0xffeeddcc00004000, CGPathRelease) ==> 0x182912294 
dlsym(0xffeeddcc00004000, CGPathMoveToPoint) 
    dlsym(0xffeeddcc00004000, CGPathMoveToPoint) ==> 0x182912380 
dlsym(0xffeeddcc00004000, CGPathAddLineToPoint) 
    dlsym(0xffeeddcc00004000, CGPathAddLineToPoint) ==> 0x182912440 
dlsym(0xffeeddcc00004000, CGPathAddCurveToPoint) 
    dlsym(0xffeeddcc00004000, CGPathAddCurveToPoint) ==> 0x182912630 
dlsym(0xffeeddcc00004000, CGPathAddQuadCurveToPoint) 
    dlsym(0xffeeddcc00004000, CGPathAddQuadCurveToPoint) ==> 0x18291252c 
dlsym(0xffeeddcc00004000, CGPathCloseSubpath) 
    dlsym(0xffeeddcc00004000, CGPathCloseSubpath) ==> 0x18291274c 
dlsym(0xffeeddcc00004000, CGFontIndexMapAddRange) 
    dlsym(0xffeeddcc00004000, CGFontIndexMapAddRange) ==> 0x1829c53a4 
dlsym(0xffeeddcc00004000, CGPathCreateByNormalizingGlyphPath) 
    dlsym(0xffeeddcc00004000, CGPathCreateByNormalizingGlyphPath) ==> 0x182913c64 
dlsym(0xffeeddcc00004000, CGPathCreateCopyByTransformingPath) 
    dlsym(0xffeeddcc00004000, CGPathCreateCopyByTransformingPath) ==> 0x182911cc4 
dlsym(0xffeeddcc00004000, CGPathRetain) 
    dlsym(0xffeeddcc00004000, CGPathRetain) ==> 0x182912268 
dlsym(0xffeeddcc00004000, CGPathIsEmpty) 
    dlsym(0xffeeddcc00004000, CGPathIsEmpty) ==> 0x18291353c 
dlsym(0xffeeddcc00004000, CGPathGetBoundingBox) 
    dlsym(0xffeeddcc00004000, CGPathGetBoundingBox) ==> 0x1829139dc 
dyld_image_header_containing_address(0x181f15cf4) 
_dyld_get_image_slide(0x181ce8000) 
_dyld_get_image_slide(0x181ce8000) 
2016-06-13 15:22:33.862 TodayExtension_Dev[5335:67225] *** Assertion failure in void _UIApplicationAssertForExtensionType( NSArray *__strong)(), /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.60.12/UIApplication.m:2521 
dyld_image_header_containing_address(0x181614e32) 
_dyld_get_image_slide(0x1812dc000) 
_dyld_get_image_slide(0x1812dc000) 
2016-06-13 15:22:33.863 TodayExtension_Dev[5335:67225] *** Terminating app due to uncaught exception  'NSInternalInconsistencyException', reason: 'Feature not available in extensions of type com.apple.widget-extension' 
*** First throw call stack: 
(0x181406db0 0x180a6bf80 0x181406c80 0x181d8c1c0 0x18680afb0 0x1869d77d8 0x1869d7a68 0x1869d7ae4 0x1000b2f68 0x180e514bc  0x180e5147c 0x180e56b84 0x1813bcd50 0x1813babb8 0x1812e4c50 0x182bcc088 0x1865ce088 0x1810a8ce0 0x1810aa9dc 0x181ec7d60  0x188706c48 0x1887068dc 0x188706c6c 0x181cda058 0x180e828b8) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

Antwort

1

Von Ihrem Stack-Trace, es sieht aus wie Sie einen UIAlertController anzuzeigen sind versuchen:

frame #6: 0x0000000186143b24 UIKit`+[UIAlertController alertControllerWithTitle:message:preferredStyle:] + 100 
frame #7: 0x0000000100133518 TodayExtension_Dev`__20+[a5987398 a2489290]_block_invoke + 64 

UIAlertController modal über den gesamten Bildschirm dargestellt wird, und das Widget nicht über Zugriff auf den gesamten Bildschirm, so dass sie in Today Widgets nicht erlaubt sind.

Ich denke, Sie müssen auf den Grund warum eine Warnung angezeigt wird. Vielleicht ein Nebeneffekt Ihres SOAP-Clients?

+0

Ich wollte nur in das und ein Gerät angeschlossen und die Warnung ist von der Stack-Spur gegangen, aber immer noch abstürzt. Es muss noch einen anderen Grund dafür geben ... – RyuX51

+0

Was ist der Stack-Trace jetzt? –

+0

Ich habe es bereits am Ende meiner Frage hinzugefügt. – RyuX51