Swift:正在终止应用程序,但N执行选项未捕获异常?

Swift:正在终止应用程序,但N执行选项未捕获异常?,swift,xcode,Swift,Xcode,在你说“这是一个问题的重复”之前,没有。我之前检查过这个问题,它告诉我的只是检查我的出口。我所有的插座都是正确的,我不知道为什么会出现这个错误。下面是详细的错误: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString objectForKeyedSubscript:]: unrecognized selector sent t

在你说“这是一个问题的重复”之前,没有。我之前检查过这个问题,它告诉我的只是检查我的出口。我所有的插座都是正确的,我不知道为什么会出现这个错误。下面是详细的错误:

*** Terminating app due to uncaught exception     'NSInvalidArgumentException', reason: '-[NSTaggedPointerString objectForKeyedSubscript:]: unrecognized selector sent to instance 0xa00000000006e652'
*** First throw call stack:
(
0   CoreFoundation                      0x000000010ddf5d4b __exceptionPreprocess + 171
1   libobjc.A.dylib                     0x000000010d85e21e objc_exception_throw + 48
2   CoreFoundation                      0x000000010de65f04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
3   CoreFoundation                      0x000000010dd7b005 ___forwarding___ + 1013
4   CoreFoundation                      0x000000010dd7ab88 _CF_forwarding_prep_0 + 120
5   Calc                                0x0000000108d00b37 -[MPCoreInstanceProvider appTransportSecuritySettings] + 284
6   Calc                                0x0000000108cc4147 +[MPAdServerURLBuilder queryParameterForAppTransportSecurity] + 76
7   Calc                                0x0000000108cc30d4 +[MPAdServerURLBuilder URLWithAdUnitID:keywords:location:versionParameterName:version:testing:desiredAssets:adSequence:] + 1674
8   Calc                                0x0000000108cc2a01 +[MPAdServerURLBuilder URLWithAdUnitID:keywords:location:versionParameterName:version:testing:desiredAssets:] + 173
9   Calc                                0x0000000108cc2920 +[MPAdServerURLBuilder URLWithAdUnitID:keywords:location:testing:] + 116
10  Calc                                0x0000000108cd3cde -[MPBannerAdManager loadAdWithURL:] + 470
11  Calc                                0x0000000108cc03a2 -[MPAdView loadAd] + 48
12  Calc                                0x000000010895aa1f _TFFC4Calc18MenuViewController11viewDidLoadFT_T_L_7loadAdsfT_T_ + 175
13  Calc                                0x0000000108957d18 _TFC4Calc18MenuViewController11viewDidLoadfT_T_ + 8104
14  Calc                                0x000000010895b632 _TToFC4Calc18MenuViewController11viewDidLoadfT_T_ + 34
15  UIKit                               0x00000001099cb8b1 -[UIViewController loadViewIfRequired] + 1258
16  UIKit                               0x00000001099cbce4 -[UIViewController view] + 27
17  UIKit                               0x0000000109895405 -[UIWindow addRootViewControllerViewIfPossible] + 71
18  UIKit                               0x0000000109895b56 -[UIWindow _setHidden:forced:] + 293
19  UIKit                               0x00000001098a9469 -[UIWindow makeKeyAndVisible] + 42
20  Calc                                0x0000000108c32264 _TFC4Calc11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 5716
21  Calc                                0x0000000108c34674 _TToFC4Calc11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 180
22  UIKit                               0x0000000109820312 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 290
23  UIKit                               0x0000000109821c97 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4236
24  UIKit                               0x000000010982803d -[UIApplication _runWithMainScene:transitionContext:completion:] + 1731
25  UIKit                               0x00000001098251bd -[UIApplication workspaceDidEndTransaction:] + 188
26  FrontBoardServices                  0x00000001160176cb __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
27  FrontBoardServices                  0x0000000116017544 -[FBSSerialQueue _performNext] + 189
28  FrontBoardServices                  0x00000001160178cd -[FBSSerialQueue _performNextFromRunLoopSource] + 45
29  CoreFoundation                      0x000000010dd9a761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
30  CoreFoundation                      0x000000010dd7f98c __CFRunLoopDoSources0 + 556
31  CoreFoundation                      0x000000010dd7ee76 __CFRunLoopRun + 918
32  CoreFoundation                      0x000000010dd7e884 CFRunLoopRunSpecific + 420
33  UIKit                               0x0000000109823a3a -[UIApplication _run] + 434
34  UIKit                               0x0000000109829bb8 UIApplicationMain + 159
35  Calc                                0x0000000108c4617f main + 111
36  libdyld.dylib                       0x0000000110df668d start + 1
37  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

看起来您的应用程序的
Info.plist
可能没有为
NSAppTransportSecurity
或其子项设置正确的值

签出:


“这是一个问题的重复”-下次查看堆栈跟踪时,它包含所需的所有提示:

  • 靠近顶部的是正在抛出异常的
    -[NSObject(NSObject)doesNotRecognizeSelector:
    objc\u exception\u throw
    • doesNotRecognizeSelector
      表示某些代码试图调用一个不可用的方法
    • 哪一个?进一步查看上面的内容:
      -[NSTaggedPointerString对象ForkeyedSubscript:
    • 因此,缺少的方法是
      objectforkeydsubscript:
      ,这是Objective-C编译器为以下表达式生成的:
      myObject[@“title”]
    • 它还告诉您调用该方法的对象的类:
      NSTaggedPointerString
      ,因此一些代码试图在普通字符串上使用
      []
      ,这没有多大意义
  • 接下来要检查的是谁调用了该代码:
    -[MPCoreInstanceProvider appTransportSecuritySettings]
    是堆栈中最后一个常规代码
    • 因此,您可以转到MPCoreInstanceProvider
    • 它恰好有一个
      appTransportSecuritySettings
      方法
    • 在查看代码时,它会获取一个字典
      NSDictionary*atsSettingsDictionary=[NSBundle mainBundle].infoDictionary[kmopubaptransportsecuritydictionarykey];
      
    • 然后对该字典及其值执行大量的
      []
      操作
  • 结论:
    []
    中的一个在需要字典时碰到了字符串

看起来像是应用程序的
Info.plist
对于
NSAppTransportSecurity
或其子项可能没有正确的值

签出:


“这是一个问题的重复”-下次查看堆栈跟踪时,它包含所需的所有提示:

  • 靠近顶部的是正在抛出异常的
    -[NSObject(NSObject)doesNotRecognizeSelector:
    objc\u exception\u throw
    • doesNotRecognizeSelector
      表示某些代码试图调用一个不可用的方法
    • 哪一个?进一步查看上面的内容:
      -[NSTaggedPointerString对象ForkeyedSubscript:
    • 因此,缺少的方法是
      objectforkeydsubscript:
      ,这是Objective-C编译器为以下表达式生成的:
      myObject[@“title”]
    • 它还告诉您调用该方法的对象的类:
      NSTaggedPointerString
      ,因此一些代码试图在普通字符串上使用
      []
      ,这没有多大意义
  • 接下来要检查的是谁调用了该代码:
    -[MPCoreInstanceProvider appTransportSecuritySettings]
    是堆栈中最后一个常规代码
    • 因此,您可以转到MPCoreInstanceProvider
    • 它恰好有一个
      appTransportSecuritySettings
      方法
    • 在查看代码时,它会获取一个字典
      NSDictionary*atsSettingsDictionary=[NSBundle mainBundle].infoDictionary[kmopubaptransportsecuritydictionarykey];
      
    • 然后对该字典及其值执行大量的
      []
      操作
  • 结论:
    []
    中的一个在需要字典时碰到了字符串

这是一个问题的重复,看起来你的应用程序的
信息。plist
对于
NSAppTransportSecurity
或它的一个孩子可能没有正确的值-请回答这个问题,它起作用了。这是一个问题的重复。看起来你的应用程序的
Info.plist
可能没有正确的
NSAppTransportSecurity
或其子项的值-请回答,成功了。你引导我找到了正确的路径,但我所要做的就是将应用程序传输安全设置的名称更改为应用程序传输设置你引导我找到了正确的路径,但我所要做的就是将应用程序传输安全设置的名称更改为应用程序传输设置