相关疑难解决方法(0)

不推荐在Swift 4模式下使用Swift 3 @objc推理?

简而言之,在使用Xcode 9 Beta时,我遇到了以下警告:

不推荐在Swift 4模式下使用Swift 3 @objc推理.请解决已弃用的@objc推理警告,使用"使用已弃用的Swift 3 @objc推理"日志记录测试代码,并禁用Swift 3 @objc推理.**

经过一番研究,我仍然不知道如何解决这个问题.我将非常感谢有关如何解决此问题的任何提示以及对正在发生的事情的解释.

我的目标是更好地理解我的代码发生了什么.

swift swift4 xcode9-beta

478
推荐指数
8
解决办法
9万
查看次数

在Swift框架中导入CommonCrypto

如何CommonCrypto在iOS的Swift框架中导入?

我理解如何CommonCrypto在Swift应用程序中使用:您添加#import <CommonCrypto/CommonCrypto.h>到桥接标头.但是,Swift框架不支持桥接头.该文件说:

您可以导入具有纯Objective-C代码库,纯Swift代码库或混合语言代码库的外部框架.无论框架是用单一语言编写还是包含来自两种语言的文件,导入外部框架的过程都是相同的.导入外部框架时,请确保将要导入的框架的"定义模块"构建设置设置为"是".

您可以使用以下语法将框架导入到不同目标中的任何Swift文件中:

import FrameworkName
Run Code Online (Sandbox Code Playgroud)

不幸的是,导入CommonCrypto不起作用.也没有添加#import <CommonCrypto/CommonCrypto.h>到伞头.

ios commoncrypto swift

181
推荐指数
8
解决办法
10万
查看次数

非公共API使用:该应用包含一个或多个损坏的二进制文件

对于iOS应用程序新版本上传,我真的很沮丧.这是故事.

2018年1月25日,我们上传了新版本3.3.27内部版本号1.0.成功处理并在测试飞行中进行测试.之后我们发现了一些问题,并在2018年1月26日我们修复它并上传新版本1.1我们从iTunes Connect收到电子邮件说:

亲爱的开发者,

我们发现您最近为"appname"发送了一个或多个问题.要处理您的交付,必须纠正以下问题:

非公共API使用情况:

The app contains one or more corrupted binaries. Rebuild the app and resubmit.
Run Code Online (Sandbox Code Playgroud)

如果源代码中的方法名称与上面列出的私有Apple API匹配,则更改方法名称将有助于防止在将来的提交中标记此应用程序.此外,请注意,上述API中的一个或多个可能位于应用程序附带的静态库中.如果是这样,他们必须被删除.

如果您认为此消息是错误发送的,并且您仅按照指南使用Apple发布的API,请将应用程序的九位Apple ID以及有关您认为上述API被错误标记的原因的详细信息发送到email@apple.com.有关详细信息,请访问

虽然我在上传成功之前验证了构建:

在此输入图像描述

当我上传应用程序时,我获得了以下成功:

在此输入图像描述

在邮件中我没有得到正确的信息是什么是损坏的二进制文件或框架的名称.我们使用的方法是什么,非公开我们在1月25日之前上传了该应用程序的100s更新版本,一切都很好并且可以接受.

然后我尝试了以下更改:

  1. 重建应用并再次提交获得相同的电子邮件.
  2. 卸载Xcode9.2并再次安装获取相同的电子邮件.
  3. 删除更改并再次上传内部版本号1.0获取相同的电子邮件
  4. 更改Mac并尝试再次上传新版本相同的电子邮件.
  5. 尝试上传旧版本之前和之后相同的电子邮件

我们发送了一封电子邮件给iTunes Connect Review,但是从3天开始我们没有得到他们的回复.我做研究从1月26日起许多用户在提交申请时面临那种问题.

如果有人知道过去或最近遇到过那种问题的解决方案请帮助我们

xcode itunesconnect app-store ios application-loader

11
推荐指数
2
解决办法
2796
查看次数