[上海][TapTap] iOS 端急招负责人
TapTap iOS 版越做越大了,急需一位 iOS 端负责人加入我们;
我们纯 Swift 项目,有新技术、新挑战,有 5 年以上 iOS 开发经验的同学,有带过团队的同学速速看过来;👀
岗位 JD 具体如下:
```
岗位职责:
1 、熟悉 TapTap 社区业务,搭建 TapTap 国内基础架构
2 、开发 TapTap 国内版的核心业务功能
3 、负责多部门间的沟通协调,理解产品需求
4 、及时跟进 iOS 系统更新,了解并利用 iOS 新特性优化产品
基本要求:
1 、本科及以上学历,计算机相关专业
2 、5 年以上 iOS 相关开发经验
3 、精通 Swift 、SwiftUI 等最新 iOS 技术
4 、有完整的 iOS 软件上线经验
5 、学习能力强,有良好的沟通能力,有积极热情的工作态度
优先条件:
1 、了解富文本编辑器、视频播放等相关技术优先
2 、对游戏及游戏衍生行业有相当的热情
```
公司福利好,一日三餐免费,无限量供应,各类零食饮料应有尽有;
升降桌,工学椅,写一天代码,腰部酸腿不疼,一口气爬五楼;
还有最好电脑和最快的网速,心动不如行动~~~
联系可以发送邮箱: renlong@xd.com
#iOS #TapTap #Swift #经验 #开发 #优先 #同学 #游戏 #技术 #沟通
TapTap iOS 版越做越大了,急需一位 iOS 端负责人加入我们;
我们纯 Swift 项目,有新技术、新挑战,有 5 年以上 iOS 开发经验的同学,有带过团队的同学速速看过来;👀
岗位 JD 具体如下:
```
岗位职责:
1 、熟悉 TapTap 社区业务,搭建 TapTap 国内基础架构
2 、开发 TapTap 国内版的核心业务功能
3 、负责多部门间的沟通协调,理解产品需求
4 、及时跟进 iOS 系统更新,了解并利用 iOS 新特性优化产品
基本要求:
1 、本科及以上学历,计算机相关专业
2 、5 年以上 iOS 相关开发经验
3 、精通 Swift 、SwiftUI 等最新 iOS 技术
4 、有完整的 iOS 软件上线经验
5 、学习能力强,有良好的沟通能力,有积极热情的工作态度
优先条件:
1 、了解富文本编辑器、视频播放等相关技术优先
2 、对游戏及游戏衍生行业有相当的热情
```
公司福利好,一日三餐免费,无限量供应,各类零食饮料应有尽有;
升降桌,工学椅,写一天代码,腰部酸腿不疼,一口气爬五楼;
还有最好电脑和最快的网速,心动不如行动~~~
联系可以发送邮箱: renlong@xd.com
#iOS #TapTap #Swift #经验 #开发 #优先 #同学 #游戏 #技术 #沟通
Swift 中数组/字典的内存结构是什么样的?
```swift
let a = [1,2]
a[1] = 1
```
这段代码在 swift 中会编译报错, 因为 let 让数据不可变.
但在 es6 中:
```javascript
const a = [1,2]
a[1] = 1
```
这是没问题的, **理解起来**也比较容易, 通过下标来改变内存数据, const 作用是禁止将其他地址赋值给 `a`.
那么 Swift 中内存结构是什么样的? 应该怎么理解? 我尝试打印其地址, 但发现地址都一样:
```swift
var a = [1,2,3]
withUnsafePointer(to: &a) {
print("\($0)") // 0x0000000101378140
}
a[1] = 3
withUnsafePointer(to: &a) {
print("\($0)") // 0x0000000101378140
}
a = [4,5,6]
withUnsafePointer(to: &a) {
print("\($0)") // 0x0000000101378140
}
```
#swift #withUnsafePointer #print #0x0000000101378140 #let #const #地址 #内存 #报错 #理解
```swift
let a = [1,2]
a[1] = 1
```
这段代码在 swift 中会编译报错, 因为 let 让数据不可变.
但在 es6 中:
```javascript
const a = [1,2]
a[1] = 1
```
这是没问题的, **理解起来**也比较容易, 通过下标来改变内存数据, const 作用是禁止将其他地址赋值给 `a`.
那么 Swift 中内存结构是什么样的? 应该怎么理解? 我尝试打印其地址, 但发现地址都一样:
```swift
var a = [1,2,3]
withUnsafePointer(to: &a) {
print("\($0)") // 0x0000000101378140
}
a[1] = 3
withUnsafePointer(to: &a) {
print("\($0)") // 0x0000000101378140
}
a = [4,5,6]
withUnsafePointer(to: &a) {
print("\($0)") // 0x0000000101378140
}
```
#swift #withUnsafePointer #print #0x0000000101378140 #let #const #地址 #内存 #报错 #理解
为什么欧美很多公司/团体/个人都喜欢造新语言,而国内普遍认为语言只是工具,不要过多探究语言语法本身,重要的是库、生态?
不光很多欧美的大公司喜欢创造新语言解决某些问题,
比如说
swift 为了写 UI
go carbon 为了写 native 的工具
Rust 为了重写浏览器
一些个人或者团体有时候只是为了满足对编程风格(主要是 Functional programming )的追求也会选择开发新语言
比如最近发现一个还在开发中的语言 Roc ,试图解决 FP 语言由于 immutable 导致的性能问题,目标是做到 native 语言接近的性能。开发原因没别的,就是喜欢 FP ,所以希望写需要高性能的程序的时候一样可以用 FP (宣讲视频里拿 haskell 的 Quicksort 举例,为了实现高性能的原地排序,用上了各种丑陋的 hack )
#FP #语言 #native #为了 #高性能 #性能 #swift #UI #go #carbon
不光很多欧美的大公司喜欢创造新语言解决某些问题,
比如说
swift 为了写 UI
go carbon 为了写 native 的工具
Rust 为了重写浏览器
一些个人或者团体有时候只是为了满足对编程风格(主要是 Functional programming )的追求也会选择开发新语言
比如最近发现一个还在开发中的语言 Roc ,试图解决 FP 语言由于 immutable 导致的性能问题,目标是做到 native 语言接近的性能。开发原因没别的,就是喜欢 FP ,所以希望写需要高性能的程序的时候一样可以用 FP (宣讲视频里拿 haskell 的 Quicksort 举例,为了实现高性能的原地排序,用上了各种丑陋的 hack )
#FP #语言 #native #为了 #高性能 #性能 #swift #UI #go #carbon
[ Swift ] synthesizer.speak 怎么出声?
```swift
#!/usr/bin/env swift
import AVFoundation
// Create an utterance.
let utterance = AVSpeechUtterance(string: "The quick brown fox jumped over the lazy dog.")
// Configure the utterance.
utterance.rate = 0.57
utterance.pitchMultiplier = 0.8
utterance.postUtteranceDelay = 0.2
utterance.volume = 0.8
// Retrieve the British English voice.
let voice = AVSpeechSynthesisVoice(language: "en-GB")
// Assign the voice to the utterance.
utterance.voice = voice
// Create a speech synthesizer.
let synthesizer = AVSpeechSynthesizer()
// Tell the synthesizer to speak the utterance.
synthesizer.speak(utterance)
synthesizer.speak(AVSpeechUtterance(string: "Hello The quick brown fox jumped over the lazy dog."))
var myString = "Hello, World!"
print(myString)
```
为啥这个没有声音,synthesizer 不能用 swsh 脚本使用?
我是纯小白,也没学过 swift 今天发现 mac 的朗读功能挺有意思的就想调一下这个接口玩玩,但是发现没动静
感觉我的语法没问题啊,应该是 使用姿势不对吧,求指点要怎么用
目前就是想这个 出声音,求解
#utterance #synthesizer #voice #swift #let #speak #Create #AVSpeechUtterance #string #quick
```swift
#!/usr/bin/env swift
import AVFoundation
// Create an utterance.
let utterance = AVSpeechUtterance(string: "The quick brown fox jumped over the lazy dog.")
// Configure the utterance.
utterance.rate = 0.57
utterance.pitchMultiplier = 0.8
utterance.postUtteranceDelay = 0.2
utterance.volume = 0.8
// Retrieve the British English voice.
let voice = AVSpeechSynthesisVoice(language: "en-GB")
// Assign the voice to the utterance.
utterance.voice = voice
// Create a speech synthesizer.
let synthesizer = AVSpeechSynthesizer()
// Tell the synthesizer to speak the utterance.
synthesizer.speak(utterance)
synthesizer.speak(AVSpeechUtterance(string: "Hello The quick brown fox jumped over the lazy dog."))
var myString = "Hello, World!"
print(myString)
```
为啥这个没有声音,synthesizer 不能用 swsh 脚本使用?
我是纯小白,也没学过 swift 今天发现 mac 的朗读功能挺有意思的就想调一下这个接口玩玩,但是发现没动静
感觉我的语法没问题啊,应该是 使用姿势不对吧,求指点要怎么用
目前就是想这个 出声音,求解
#utterance #synthesizer #voice #swift #let #speak #Create #AVSpeechUtterance #string #quick
[杂想] 鼠须管, LibRime,以及 Swift 。
现有的鼠须管的专案架构太陈旧,用 Xcode 开启时一大堆 warning 。
本来 Objective-C 与 C 桥接的专案对于只懂 Swift 的人群而言就很难做二次开发。
我有想过将鼠须管 Swift 化。但我不懂 C 、也不懂其与 Swift 之间的绑定。
换言之,所有在 Swift 当中需要接触指针的内容,我都不熟。
希望能有同时精通 Swift 与 C 语言绑定的人将 libRime 打包成 Swift Package 、将 API 封装成可以用 Swift 直接处理的形式(而不用去接触任何指针)。这样的 Swift Package 可以全平台通用。
这样的话,用 SwiftUI 重写一个新的鼠须管,就会轻松很多。
#Swift #鼠须 #Package #绑定 #专案 #指针 #桥接 #接触 #二次开发 #Xcode
现有的鼠须管的专案架构太陈旧,用 Xcode 开启时一大堆 warning 。
本来 Objective-C 与 C 桥接的专案对于只懂 Swift 的人群而言就很难做二次开发。
我有想过将鼠须管 Swift 化。但我不懂 C 、也不懂其与 Swift 之间的绑定。
换言之,所有在 Swift 当中需要接触指针的内容,我都不熟。
希望能有同时精通 Swift 与 C 语言绑定的人将 libRime 打包成 Swift Package 、将 API 封装成可以用 Swift 直接处理的形式(而不用去接触任何指针)。这样的 Swift Package 可以全平台通用。
这样的话,用 SwiftUI 重写一个新的鼠须管,就会轻松很多。
#Swift #鼠须 #Package #绑定 #专案 #指针 #桥接 #接触 #二次开发 #Xcode
求推荐一款苹果的倒计时应用程序
需求如下:
- (必须)支持给定任意时间点然后倒计时或正计时。
- (必须)剩余时间格式可以自由选择,精度要精确到秒,例如“还剩 X 年 X 月 X 周 X 天 X 小时 X 分 X 秒”,其中的“年”、“月”、“周”、“天”、“小时”、“分”这些靠前的单位可以不显示并自动换算成更小的单位。
- (可选)如果可以的话,精度可以再精确到毫秒。
- (可选)时间点可以选择一个特别大的数字,比如在 ±1 万年之内的年份随便选,当然没有限制是最好的。
- (必须)要 Swift 开发的,UI 风格与系统自带应用程序保持一致。
- (必须)跨平台。iPhone 、iPad 、iWatch 、Mac 都可以用的。
- (必须) iCloud 同步。
- (必须)注重隐私,不要求给一些没必要给的权限。
- (必须) iPhone 上有小组件。
- (可选)开源免费的优先,闭源付费的也可以接受。
#必须 #可以 #iPhone #精度 #精确 #跨平台 #Swift #UI #iPad #iWatch
需求如下:
- (必须)支持给定任意时间点然后倒计时或正计时。
- (必须)剩余时间格式可以自由选择,精度要精确到秒,例如“还剩 X 年 X 月 X 周 X 天 X 小时 X 分 X 秒”,其中的“年”、“月”、“周”、“天”、“小时”、“分”这些靠前的单位可以不显示并自动换算成更小的单位。
- (可选)如果可以的话,精度可以再精确到毫秒。
- (可选)时间点可以选择一个特别大的数字,比如在 ±1 万年之内的年份随便选,当然没有限制是最好的。
- (必须)要 Swift 开发的,UI 风格与系统自带应用程序保持一致。
- (必须)跨平台。iPhone 、iPad 、iWatch 、Mac 都可以用的。
- (必须) iCloud 同步。
- (必须)注重隐私,不要求给一些没必要给的权限。
- (必须) iPhone 上有小组件。
- (可选)开源免费的优先,闭源付费的也可以接受。
#必须 #可以 #iPhone #精度 #精确 #跨平台 #Swift #UI #iPad #iWatch
Ios 远程工作岗位
Ios 远程工作岗位
招聘需求:
1. 近 1 年有做过马甲包或者白包并且上架成功。
2. 熟练 swift 和 oc ,主要是 swift ,但 oc 不能不会。
3. 了解 App Store 上架流程和技巧,懂得如何规避开发者账号的封号问题。
4. 具备较强的编程能力,较强的理解能力,良好的沟通和分析能力,有强烈的求知欲和进取心。
招聘待遇:
每月基础底薪:2w ;
每月项目提成:1-10w ;
年终团队分红:6w ;
试用期 2 个月,不降低收入,保证过了第一年收入不低于 35w ;
联系邮箱: xiafeiruanjian@gmail.com
夏飞软件公司:承担影视网站模版制作、app 软件项目开发、音乐 app 开发、游戏开发、区块链网站后台,有兴趣的可以随时联系!
#swift #oc #app #上架 #开发 #招聘 #软件 #每月 #白包 #较强
Ios 远程工作岗位
招聘需求:
1. 近 1 年有做过马甲包或者白包并且上架成功。
2. 熟练 swift 和 oc ,主要是 swift ,但 oc 不能不会。
3. 了解 App Store 上架流程和技巧,懂得如何规避开发者账号的封号问题。
4. 具备较强的编程能力,较强的理解能力,良好的沟通和分析能力,有强烈的求知欲和进取心。
招聘待遇:
每月基础底薪:2w ;
每月项目提成:1-10w ;
年终团队分红:6w ;
试用期 2 个月,不降低收入,保证过了第一年收入不低于 35w ;
联系邮箱: xiafeiruanjian@gmail.com
夏飞软件公司:承担影视网站模版制作、app 软件项目开发、音乐 app 开发、游戏开发、区块链网站后台,有兴趣的可以随时联系!
#swift #oc #app #上架 #开发 #招聘 #软件 #每月 #白包 #较强
app 苹果前端 远程工作岗位
招聘需求:
1. 近 1 年有做过马甲包或者白包并且上架成功。
2. 熟练 swift 和 oc ,主要是 swift ,但 oc 不能不会。
3. 了解 App Store 上架流程和技巧,懂得如何规避开发者账号的封号问题。
4. 具备较强的编程能力,较强的理解能力,良好的沟通和分析能力,有强烈的求知欲和进取心。
招聘待遇:
每月基础底薪:2w ;
每月项目提成:1-10w ;
年终团队分红:6w ;
试用期 2 个月,不降低收入,保证过了试用期第一年内收入不低于 35w ;
联系邮箱: xiafeiruanjian@gmail.com
夏飞软件公司:承担影视网站模版制作、app 软件项目开发、音乐 app 开发、游戏开发、区块链网站后台,有兴趣的可以随时联系!
#试用期 #swift #oc #app #上架 #开发 #招聘 #软件 #每月 #白包
招聘需求:
1. 近 1 年有做过马甲包或者白包并且上架成功。
2. 熟练 swift 和 oc ,主要是 swift ,但 oc 不能不会。
3. 了解 App Store 上架流程和技巧,懂得如何规避开发者账号的封号问题。
4. 具备较强的编程能力,较强的理解能力,良好的沟通和分析能力,有强烈的求知欲和进取心。
招聘待遇:
每月基础底薪:2w ;
每月项目提成:1-10w ;
年终团队分红:6w ;
试用期 2 个月,不降低收入,保证过了试用期第一年内收入不低于 35w ;
联系邮箱: xiafeiruanjian@gmail.com
夏飞软件公司:承担影视网站模版制作、app 软件项目开发、音乐 app 开发、游戏开发、区块链网站后台,有兴趣的可以随时联系!
#试用期 #swift #oc #app #上架 #开发 #招聘 #软件 #每月 #白包
请大佬指教 Swift codable 的问题
我刚用 swift
用到 codable 时,有两个疑问
1.后端返回的数据我只用到一部分,我的做法是先转成 json ,然后取出我用到的字段的值,再转成 Data ,最后用 codable 转成我自己的 struct ,这就损失了效率,有好的解决办法嘛?
2.我和其他端( web ,andriod ,后端)共同读写一份 json 文件,有共用的字段,也有各端单独用到的字段,不能在读写过程中弄丢了。我在用 codable 时,碰到其他端的字段,是[String : Any]或者[[String : Any]]类型的, 没法 Codable 了,这个怎么搞?
#codable #转成 #用到 #json #String #Any #读写 #各端 #刚用 #swift
我刚用 swift
用到 codable 时,有两个疑问
1.后端返回的数据我只用到一部分,我的做法是先转成 json ,然后取出我用到的字段的值,再转成 Data ,最后用 codable 转成我自己的 struct ,这就损失了效率,有好的解决办法嘛?
2.我和其他端( web ,andriod ,后端)共同读写一份 json 文件,有共用的字段,也有各端单独用到的字段,不能在读写过程中弄丢了。我在用 codable 时,碰到其他端的字段,是[String : Any]或者[[String : Any]]类型的, 没法 Codable 了,这个怎么搞?
#codable #转成 #用到 #json #String #Any #读写 #各端 #刚用 #swift
CodeEditTextView
https://github.com/CodeEditApp/CodeEditTextView
来自 CodeEdit.app 项目的一个 SwiftUI 文本编辑框组件。

```swift
import CodeEditTextView
struct ContentView: View {
@State var text = "let x = 1.0"
@State var theme = EditorTheme(...)
@State var font = NSFont.monospacedSystemFont(ofSize: 11, weight: .regular)
@State var tabWidth = 4
@State var lineHeight = 1.2
var body: some View {
CodeEditTextView(
$text,
language: .swift,
theme: $theme,
font: $font,
tabWidth: $tabWidth,
lineHeight: $lineHeight
)
}
}
```
#var #State #CodeEditTextView #theme #font #tabWidth #lineHeight #https #swift #View
https://github.com/CodeEditApp/CodeEditTextView
来自 CodeEdit.app 项目的一个 SwiftUI 文本编辑框组件。

```swift
import CodeEditTextView
struct ContentView: View {
@State var text = "let x = 1.0"
@State var theme = EditorTheme(...)
@State var font = NSFont.monospacedSystemFont(ofSize: 11, weight: .regular)
@State var tabWidth = 4
@State var lineHeight = 1.2
var body: some View {
CodeEditTextView(
$text,
language: .swift,
theme: $theme,
font: $font,
tabWidth: $tabWidth,
lineHeight: $lineHeight
)
}
}
```
#var #State #CodeEditTextView #theme #font #tabWidth #lineHeight #https #swift #View
clash premium 使用 tun 模式,某个程序也无法使用代理
这台 vps 本身就是美国的,可以直接访问 google ,vps 安装的是 ubuntu server 。为了使本机走代理(因为有
ip 限制)在另一台 vps (荷兰)安装了 v2ray 。
按照这个教程
https://zhuanlan.zhihu.com/p/545734974
安装了 clash premium,在终端 curl baidu.com 、访问 github 都有日志,但是某个程序( swift vapor 一个 swift 写的后端服务)完全没有走代理,也没访问记录。
大佬们,求教!
#vps #com #swift #访问 #安装 #代理 #另一台 #google #ubuntu #server
这台 vps 本身就是美国的,可以直接访问 google ,vps 安装的是 ubuntu server 。为了使本机走代理(因为有
ip 限制)在另一台 vps (荷兰)安装了 v2ray 。
按照这个教程
https://zhuanlan.zhihu.com/p/545734974
安装了 clash premium,在终端 curl baidu.com 、访问 github 都有日志,但是某个程序( swift vapor 一个 swift 写的后端服务)完全没有走代理,也没访问记录。
大佬们,求教!
#vps #com #swift #访问 #安装 #代理 #另一台 #google #ubuntu #server
创业团队招聘 iOS 工程师(深圳坐班)
职位描述:
1.负责 iOS 客户端软件的产品架构设计、开发和维护及代码重构
2.根据业务需求进行相关产品的开发、撰写开发文档
3.参与产品、项目设计方案评审,并提出问题和改进意见
4.保质保量按时完成开发任务
5.对开发系统产生的需求和问题快速响应
任职要求:
1.三年以上 iOS 开发经验,扎实的计算机专业基本功,强大的编码能力
2.熟练掌握 Swift 、Objective-C 编程语言,熟悉 mvvm 架构,熟悉 iPhone ,iPad 等平台适配
3.对工作充满责任心,且认真积极
4.较强的逻辑思维能力,善于分析、归纳、描述、沟通、与解决问题
薪资面谈,优秀的话,我们会考虑给股份。
有意向请留下联系方式~
#开发 #iOS #产品 #描述 #计算机专业 #熟悉 #适配 #请留下 #架构设计 #Swift
职位描述:
1.负责 iOS 客户端软件的产品架构设计、开发和维护及代码重构
2.根据业务需求进行相关产品的开发、撰写开发文档
3.参与产品、项目设计方案评审,并提出问题和改进意见
4.保质保量按时完成开发任务
5.对开发系统产生的需求和问题快速响应
任职要求:
1.三年以上 iOS 开发经验,扎实的计算机专业基本功,强大的编码能力
2.熟练掌握 Swift 、Objective-C 编程语言,熟悉 mvvm 架构,熟悉 iPhone ,iPad 等平台适配
3.对工作充满责任心,且认真积极
4.较强的逻辑思维能力,善于分析、归纳、描述、沟通、与解决问题
薪资面谈,优秀的话,我们会考虑给股份。
有意向请留下联系方式~
#开发 #iOS #产品 #描述 #计算机专业 #熟悉 #适配 #请留下 #架构设计 #Swift