昨天我提交了一个新App,2023年我的计划就是开发一系列的小App试图在独立开发领域有一份收入。但是今天一早就发现被拒绝了。
理由是:
昨天我提交了一个新App,2023年我的计划就是开发一系列的小App试图在独立开发领域有一份收入。但是今天一早就发现被拒绝了。
理由是:
SwiftUI快速创建UI的能力非常强大,苹果还提供了PDFKit框架,所以,用SwiftUI和PDFKit可以用非常少的代码,非常快速的创建一个完全可定制的PDF阅读器。
我们来从零开始,做一个PDF阅读器。
最近我的App《英语轻松读》iOS版本连续更新了两个版本。其实上一个版本 1.17 到今天已经有一年多了。必须要升级的原因是,iOS 16带来的一些API和限制的改变,造成 1.17 版有频繁崩溃的问题。
然而从接到用户的抱怨到解决也花了很久,最后其实就改了几行而已。但是这个代码确实好久没碰了,我碰起来有点心慌。但是真的塌下心去研究,其实也没有花多久就解决了问题。然而马上发现还有一个 UI Bug,我也很快解决了,提交了。
今年苹果的 iPhone12旗舰机型上面搭载了激光雷达。很多人其实都听说过激光雷达,苹果的发布会上也提了这个东西,但是其实我发现很多人都不了解这个东西到底是怎么回事。
所以,我今天就想从头从原理里,给大家讲清楚激光雷达是什么东西。以及它到底有什么用处。给大家讲明白,为什么苹果会在旗舰机型上放这么一个东西,以及这个东西对我们的未来、对这个世界有什么改变。
最近同时使用 Xcode 11 和 Xcode beta (也就是12),发现,后者性能提升超级明显,而编译器的理解能力也提升很多。
比如,我的一个SwiftUI代码里面,有一个稍微复杂一点的判断逻辑,有三个 if/else 分支,如下:
Group {
if(index>0 && item.rating>4.0) {
PoiLargeImageCell(item:item)
}else if(index==0){
InvisibleCell(largeHeadView:self.$largeHeadView)
PoiCell(item: item)
}else {
PoiCell(item: item)
}
}
这个代码在 Xcode 12 可以正常编译,没有任何问题。但是,在 Xcode 11 下就会直接报错,而且是那种完全文不对题的错误信息。错误信息不是在 Swift 5 发布后有改善了么?但是在这个问题下仍旧文不对题,所以,我只能把这个稍微复杂一点的 if/else 语句改为两个 Group 嵌套的做法,如下,这样在 Xcode 11 就可以正常编译了。
Group {
if(index==0){
ZStack{
InvisibleCell(largeHeadView:self.$largeHeadView)
PoiCell(item: item)
}
}else {
Group {
if(index>0 && item.rating>4.0){
PoiLargeImageCell(item:item)
}else {
PoiCell(item: item)
}
}
}
}
为了迁就编译器,代码变啰嗦多了。不过暂时需要这么做,期待 Xcode 12 早日正式发布。这么多年以来,第一次感觉苹果的 Beta 版本这么靠谱,感觉苹果今年果然有点进步。
今天我用 Xcode 11 提交一个 app ,遇到了一个以前没见过的错误信息,“Profile doesn’t include the com.apple.application-identifier entitlement.”。查了下,原来跟 MacOS Big Sur 有关系,跟 Xcode 11 和 Xcode 12 beta 也有关系。解决方法很搞笑,那就是用 Xcode 11来编译打包,用 Xcode 12 beta 来 upload app。详情可以参考苹果开发者论坛的相关帖子。
iPad采用了和iPhone一样的底层系统,开放方式基本相同。同时性能大幅提升,屏幕尺寸大幅度提升,以前在iPhone上无法实现,或者难以实现的一些应用的机会来了。所以,现在对每个有志于iPad开发的人来说,唯一的挑战是你的想象力和你的执行能力。