当我尝试提交我的应用程序进行测试时出现了这个问题
如果您正在使用 ATS 或调用 HTTPS,请注意您需要向美国政府提交年终自我分类报告
答案是肯定的,我确实会调用 https 来与我的 API 对话。
我应该怎么做才能满足这个要求?
什么是年终自我资格报告?
我正在寻找一种可靠的方法来跟踪 UIPageViewController 当前索引。
这个问题是众所周知的;尽管 viewController 被正确呈现,但很难跟踪当前索引。
我认为在 SO 社区中刷新这个主题会很好,因为它由于某种原因仍未解决
我在这里浏览了许多线程,但大多数答案都已过时或标记为不可靠(结果取决于用户是完全滑动还是仅滑动了一半等)
我访问过这个线程,但它没有提供任何明确正确的答案。
我试过了:
1) 跟踪 viewController 的视图标签 -链接- 总是返回 0
2)查看两个 UIPageViewController 方法中的索引变量,viewControllerBeforeViewController以及viewControllerAfterViewControlle
它的结果是不可预测的,有时它会跳过一个索引等。
有没有人想出一个好方法,可靠的方法来跟踪 UIPageCiewController 索引以利用它(例如打印当前索引)?
我很欣赏 obj-c 和 swift 实现,但 swift 是我正在寻找的。
我发现 App Store 审查指南的第 2.10 段有点含糊不清。它说:“iPhone 应用程序也必须在不加修改的情况下以 iPhone 分辨率和 2X iPhone 3GS 分辨率在 iPad 上运行”
我的应用程序的部署目标是 iphone,假定的设备方向是 portait

当我在 ipad 模拟器上测试我的应用程序时,它看起来如下:

这只是视图的一部分,让您了解它的实际外观 - 应用程序视图不适合 ipad 模拟器的整个框架。
我的应用被拒绝的原因是完全不同的,但是我不想再浪费 8 天因为一些奇怪的问题再次看到拒绝,所以这就是我问的原因。而且,你知道他们遇到问题是否停止审查吗?或者他们总是取消所有的问题?我的问题是:即使我的应用程序的目标设备是 iphone,我也应该对这个 ipad 视图做些什么吗?如果是,你建议我做什么?
提前致谢
我正在使用蓝牙从传感器获取数据,我想将获得的数据字符串附加到文件末尾。
当我尝试常规方法时
if let dir = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
let path = NSURL(fileURLWithPath: dir).URLByAppendingPathComponent(self.file)
do {
try text.writeToURL(path, atomically: false, encoding: NSUTF8StringEncoding)
}
catch {/* error handling here */}
Run Code Online (Sandbox Code Playgroud)
我的应用程序开始变慢,直到标签不再更新。
尝试dispatch_async在后台线程中使用,但它仍然减慢了我的应用程序的速度。
我应该使用什么方法?我阅读了有关流的内容,但未能迅速找到一些我可以依赖的解决方案
看似简单的事情,其实做起来真的很难。我已经在这里和 SnapKit GitHub 上浏览了多个主题,但未能解决我的问题。
我想要UITableViewCell一个位于中间的标签,让我们从单元格的顶部和底部说 50。
值得一提的是,单元格是以编程方式创建的
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.addSubview(titleLabel)
titleLabel.snp.makeConstraints { (make) -> Void in
make.topMargin.equalToSuperview().offset(50.0)
make.left.equalToSuperview().inset(UIView.getValueScaledByScreenWidthFor(baseValue:10.0))
make.bottomMargin.equalToSuperview().offset(50.0)
}
}
Run Code Online (Sandbox Code Playgroud)
在 ViewController 中,我尝试了两种自动单元格高度的方法:
extension EpisodeViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
}
Run Code Online (Sandbox Code Playgroud)
和
tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)
在viewDidLoad()方法中
我得到的是:
这三个单元格中的每一个都应填充“测试” - 相反,它在不调整单元格大小的情况下将标签向下推到相应单元格下方。
尝试了许多不同的组合,例如:
1) 将约束优先级设置为 999 - 没有变化
2) 添加到 contentView 而不是 self - 根本不显示
3) …
我在这里阅读了许多关于此问题的其他主题,现在看来最好的解决方案是将其设置如下:
let pageControl = UIPageControl.init(frame: CGRectMake(0, UIScreen.mainScreen().bounds.size.height*14/15, UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height))
pageControl.backgroundColor = UIColor(red: 0, green: 147/255, blue: 229/255, alpha: 1)
pageControl.pageIndicatorTintColor = UIColor.lightGrayColor()
pageControl.currentPageIndicatorTintColor = UIColor.blackColor()
view.addSubview(pageControl)
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,这对我不起作用。页面控制背景会改变其颜色,但指示符仍为白色。
我的整个 viewDidLoad() 方法
override func viewDidLoad() {
super.viewDidLoad()
self.pageViewController = self.storyboard!.instantiateViewControllerWithIdentifier("OnboardingPageViewController") as! UIPageViewController
self.pageViewController.dataSource = self
let startingViewController:OnboardingPageContentViewController = self.viewControllerAtIndex(0)!
let viewControllers:Array<OnboardingPageContentViewController> = [startingViewController]
self.pageViewController.setViewControllers(viewControllers, direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
let pageControl = UIPageControl.init(frame: CGRectMake(0, UIScreen.mainScreen().bounds.size.height*14/15, UIScreen.mainScreen().bounds.size.width, UIScreen.mainScreen().bounds.size.height))
pageControl.backgroundColor = UIColor(red: 0, green: 147/255, blue: 229/255, alpha: 1)
pageControl.pageIndicatorTintColor = UIColor.lightGrayColor()
pageControl.currentPageIndicatorTintColor …Run Code Online (Sandbox Code Playgroud) 想象一下下面的例子:
有一个这样的按钮
文本以编程方式设置,因为它依赖于定时器。我希望标题字体大小调整到按钮的边界。对于典型的 UILabel,在设置约束后,很容易应用自动收缩。有什么办法可以对标题进行处理,因为普通 UILabel 是可能的吗?
我试过
self.alertButton.titleLabel?.sizeToFit()
Run Code Online (Sandbox Code Playgroud)
但它什么也不做。同样在界面构建器中,我看不到这样的选项,因为它是典型的 UILabel。
谢谢
我的应用程序中有一个 NSTimer 对象,它以秒为单位计算经过的时间。
我想以符合众所周知的标准的方式在我的应用程序界面中格式化 UILabel。
例子
00:01 - 一秒
01:00 - 60 秒
01:50:50 - 6650 秒
我想知道如何做到这一点,您知道任何基于 Int 秒数创建此类 String 的豆荚/库吗?
显然我自己可以使用复杂的方法,但由于建议不要重新发明轮子,我更愿意使用一些现成的解决方案。
我在 Foundation 库和 HealthKit 中都没有找到任何相关内容
你对如何完成它有什么建议吗?如果你说“自己去写吧”——那没问题。但我想确保我没有遗漏任何简单、直接的解决方案。
提前致谢
这是我获取条目的方式:
func fetchAllEntriesByLocation(latitude:Double, longitude: Double, completion: @escaping (([Item]) ->Void)) {
var items:[Item] = []
let query = Query(where: "content_type", .equals("item")).where("fields.location", .isNear(Location(latitude: latitude, longitude: longitude)))
client.fetchEntries(with: query) { [weak self] result in
guard let strongSelf = self else { return }
DispatchQueue.main.async {
strongSelf.delegate?.finishedTask()
}
switch result {
case .success(let entries):
entries.items.forEach { entry in
items.append(Item(entry: entry))
}
DispatchQueue.main.async {
completion(items)
}
case .error(let error):
print(error)
}
}
}
Run Code Online (Sandbox Code Playgroud)
以及我如何映射它们
final class Item: EntryModellable {
static let contentTypeId: String = "item" …Run Code Online (Sandbox Code Playgroud) ios ×9
swift ×7
app-store ×1
autolayout ×1
contentful ×1
ipad ×1
nsdate ×1
nstimer ×1
objective-c ×1
snapkit ×1
uibutton ×1
uilabel ×1
uitableview ×1