小编ala*_*nlo的帖子

我是否需要更换NSURLConnection以实现对仅IPv6服务的强制支持?

由于Apple要求提交审核的应用程序必须从2016年6月1日起支持仅支持IPv6的网络,因此我正在检查是否需要替换我的应用中的某些API /库.但是我对网络和一些相关方面知之甚少,因此我无法对此有明确的答案,并希望寻求帮助.

关于Apple提供的支持IPv6 DNS64/NAT64网络的文档,它指出应用程序应该没问题,如果符合以下情况则无需执行更新:

您正在使用的高级网络API比如写一个客户端应用程序NSURLSessionCFNetwork的框架,你的名字连接

通过这个我把它作为2个标准:

  1. 使用NSURLSession或CFNetwork
  2. 按名称连接

所以这里的问题是:

  1. 据我所知,NSURLConnection基于CFNetwork,这是否意味着如果我的应用程序使用NSURLConnection,我也会没事的?(我在上面的文档中看到NSURLConnection在这张图片中也有提及,但是我不太确定这一点,因为NSURLConnection有点老了?似乎我找不到提及IPv4和IPv6支持的文件.)

  2. 根据标准"按名称调用",这是否意味着无论我使用的是NSURLSession还是NSURLConnection,如果我碰巧通过IPv4地址调用或访问某些资源/ API,会发生什么不好的事情?(我已经做了一些研究,根据我的理解,像iOS 9+的iOS设备这样的客户端将始终使用合成的IPv6地址访问IPv4服务器,因此如果我通过IPv4地址调用,客户端将无法访问资源?)

谢谢你的帮助!

ipv6 nsurlconnection ios ios9

14
推荐指数
1
解决办法
4360
查看次数

当有足够的空间时,UILabel 自动换行会将额外的单词带到下一行

在某些情况下,即使有足够的空间, UILabel 似乎也会为新行带来额外的单词,例如,

在此处输入图片说明

如果再加一个词,

在此处输入图片说明

即使我强制标签的宽度变成如下所示,它仍然会将包含“c”的单词移动到下一行,

在此处输入图片说明

我已经尝试扭曲 UILabel 的配置,但似乎它的行为是相同的,除非我将换行模式设置为字符换行,以下是上述情况的配置,

在此处输入图片说明

和约束(在前两种情况下,尾随 ),

在此处输入图片说明

这种特殊行为是否有任何原因,我可以解决这个问题吗?以这种方式让那个空间清空看起来很奇怪。

uilabel ios

8
推荐指数
1
解决办法
2235
查看次数

在特定构建配置中嵌入/排除某些 SPM 库

目前我们的项目正在利用通过 SPM 添加的库,其中包含一些禁止的符号,例如RxTest,因此在将构建上传到 AppStore Connect 之前,我们必须在Target->中手动删除这些库Frameworks and Libraries,但这样我们就无法使上传进入自动化过程。

有什么方法可以将这些库配置为仅嵌入某些构建配置中,例如Debug但不嵌入Release?或者为了达到相同的目标,是否有任何命令可以删除特定的库?

xcode swift-package-manager rxtest app-store-connect

7
推荐指数
0
解决办法
451
查看次数

在解除模态视图时,无法形成对UIScrollView子类(EXC_BAD_INSTRUCTION)的弱引用

大家好,我已经调试了这个问题很长一段时间但到目前为止没有运气.我在这里迷失了,并且不知道造成这次崩溃的原因以及如何解决它.如果有人能为我提供一些帮助,我将非常感激,非常感谢!

我准备了一个示例项目来在GitHub上演示这个问题.

方案如下:

  1. 有两个视图控制器,即根视图和模态视图,每个视图控制器都有一个自定义滚动视图(即类SubScorllView)作为子视图,模态视图有一个用于关闭模态视图的按钮.

  2. 滚动视图是UIScrollView的子类,每个子类都有相应的委托协议,它们的类层次结构如下:

UIScrollView的
∟SuperScrollView
.....∟SubScrollView

该应用程序以非常简单的方式启动和运行,在AppDelegate的didFinishLaunchingWithOptions中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor blackColor];

    RootViewController * rootVC = [[RootViewController alloc] init];
    self.navVC = [[UINavigationController alloc] initWithRootViewController:rootVC];
    self.navVC.navigationBarHidden = TRUE;

    self.window.rootViewController = self.navVC;
    [self.window makeKeyAndVisible];

    ModalViewController *modalVC = [[ModalViewController alloc] init];
    [self.navVC presentViewController:modalVC animated:YES completion:nil];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

并且视图是从xib文件加载的,滚动视图的委托也在其中设置,并且有一些关于启动和设置滚动视图子类的委托的方法的覆盖.

当我通过单击模态视图中的"关闭"按钮关闭模态视图时出现问题,单击该按钮时,会发生以下情况:

- (IBAction)didPressedCloseButton:(id)sender {

    self.subScrollView.delegate = nil;
    [self dismissViewControllerAnimated:YES completion:nil];

}
Run Code Online (Sandbox Code Playgroud)

该应用程序崩溃在以下部分SuperScrollView:

- (void)setDelegate:(id<SuperScrollViewDelegate>)delegate …
Run Code Online (Sandbox Code Playgroud)

objective-c uiscrollview uiscrollviewdelegate ios

0
推荐指数
1
解决办法
2676
查看次数