看起来还不错,大家有试过吗?
]]>我半个多月前,从旧的 mini 使用迁移助手迁移到新的 mini 上,新的 mini Xcode 会有这问题。 现在系统版本是 15.4 (24E248),Xcode 有两个,16.2 和 16.3, 都有这问题。
期间尝试重启 Xcode ,重启系统,都不管用。
Run 到真机和模拟器都有这问题。
具体的问题是:
项目打开后,使用 cmd+r 或者点击 run 按钮,都可以正常编译运行到手机或者模拟器。 但是项目改动后,运行状态,就无法再使用 cmd+r/点击 来重新编译运行。 更诡异的是,只有按 cmd+. 或者 stop 按钮后,才会触发重新编译运行。
有时候,改了代码,点击 cmd+. 会触发重新运行,有时候是停止这个项目。但所有运行状态的,都无法使用 cmd+r/点击 来重新运行。
并且 cmd+r 或者点击,都能在 Xcode 上看到被点击的 Hover 点击状态。
并且没有使用“karabiner-elements”等工具改过键位。
旧的 mini 没有这个现象。并且自己的 macbook air 也没有这个问题。
只有新的 mini 有这问题。Apple M4 Pro 48 GB 。
]]>实际上我每次编译的时候,都是真机编译调试,这个模拟器 runtime 感觉用不上,但如果删掉真机也没办法编译了。
有大佬知道怎么才能删掉 runtime 还能保证真机编译正常使用吗?
]]>环境配置,严格按照项目所需的版本进行安装:
Mac OS: Ventura 13.6.6
Xcode: 15.2 (15C500b)
Watchan: 2024.03.25.00
CocoaPods: 1.14.3
nvm: 0.39.7
node: 18.17.1
npm: 9.6.7
rvm: 1.29.12
ruby: 3.0.6p216
gem: 3.2.33
Openssl: openssl@1.1 / openssl@3 ,系统默认使用的 openssl@3
从 GitHub 下载最新的 Mattermost-mobile 工程到本机, 进入 mattermost-mobile-main ,执行 npm install 后,输出内容摘抄部分如下:
./scripts/preinstall.sh && npx solidarity
✔︎ Solidarity checks valid
mattermost-mobile@2.15.0 pod-install
cd ios && pod install
Downloading dependencies
Generating Pods project
Setting REACT_NATIVE build settings
Setting CLANG_CXX_LANGUAGE_STANDARD to c++17 on mattermost/mattermost-mobile-main/ios/Mattermost.xcodeproj
Pod install took 25 [s] to run
Patching Alamofire to include X-Uncompressed-Content-Length to measure download progress
Integrating client project
Pod installation complete! There are 108 dependencies from the Podfile and 109 total pods installed.
Configuring Compass Icons font
Generating app assets
mattermost-mobile@2.15.0 prepare
husky install
fatal: not a git repository (or any of the parent directories): .git husky - git command not found, skipping install
added 1739 packages, and audited 1740 packages in 14m
在 Xcode 中打开 mattermost-mobile-main/ios ,并在 targets 下的 Mattermost —Signing&Capabilities 中配置了开发者账号和 Bundle Identifier 和 App Groups 等信息,然后 build 项目,报错:
mattermost-mobile-main/ios/Pods/Flipper-Folly/folly/portability/OpenSSL.h:26:10 'openssl/opensslv.h' file not found ,
就是 Fipper-Folly 在 mattermost-mobile-main/ios/Pods/Flipper-Folly/folly/io/async/ssl/SSLErrors.cpp 中引入了#include <folly/portability/OpenSSL.h>,
OpenSSL.h 中进一步 #include <openssl/opensslv.h>,然后没有找到 openssl/opensslv.h 而报错。
项目里 pod 'OpenSSL-Universal',应该是能解决引用 openssl 头的问题,OpenSSL-Universal 要求在 Xcode 中使用开发者签名证书进行签名(完成了这个配置),或者启用 Disable Library Validation 权限(在 Xcode15 里找不到这个配置)
我也试过在 Fipper-Folly 这个 pod 中的 Header Search Paths 配置了"$(PODS_ROOT)/OpenSSL-Universal",也并没有用
大家的项目在 Xcode 中对于使用了 openssl 是如何解决 include openssl 找不到头文件问题的,麻烦指点下,谢谢大家
]]>The app requires a more recent version of macOS. Please check the app's deployment target.
]]>没有跑任何项目,只是没有杀死它,Xcode 仅仅在 Dock 栏中,却疯狂吃 CPU ,占 CPU 的进程名是 diagnosticd 。
将 Xcode 杀死后 CPU 就恢复了平静。
]]>貌似如果只有 sparkle:fullReleaseNotesLink 是不够的:
https://opensource.planetable.xyz/planet-insider/appcast.xml
]]>Xcode 的配置文件虽然是纯文本,但正常人基本看不懂。也没有一个工具可以在不丢失任何信息的情况下把 project.pbxproj
解析成人类可读的格式。
最近开发 Flutter ,发现官方提供的 macOS 和 iOS 模版都是基于 Xcode 的,也就是说如果想要查看或修改构建配置,必须打开 Xcode ,这显然是可以接受的 (unacceptable)。
Xcodeproj 可以把 project.pbxproj
解析成 YAML 格式,在 Flutter 的 macOS 模版上试了下,构建相关的信息基本没丢。
但 Flutter 自身仍要借助 Xcode 来构建,所以只能看是不行的,必须有工具重新生成 project.pbxproj
。
XcodeGen 虽然可以通过 YAML 生成 project.pbxproj
,但它的 spec 跟 Xcodeproj 解析出来的 YAML 完全不同。
目前只能通过对照 Xcodeproj 解析出来的 YAML 和 XcodeGen 的 spec 人工完成。
我花了两天时间把 Flutter macOS 模版里的 project.pbxproj
解析成了 YAML ,简单改改就能直接用了。
https://github.com/jat001/ddns4cdn-aio/blob/main/src/macos/project.yml
另外还有一份通过 Swift 调用 staic library (.a) 或 shared library (.so) 的示例,仍然无需打开 Xcode 就可编译。
https://github.com/jat001/ddns4cdn/tree/main/src/cgo/swift
这个项目其实是 Go 写的,通过 cgo 实现了用 C, C++, Objective-C 和 Swift 调用 Go 。当然,入参只有一个字符串,毕竟类型转换很麻烦,复杂的调用不如直接用目标语言重写。
]]>flutter 项目,用的 release 编译。
]]>ITMS-90961: Invalid bundle - The app at “xxx.app” contains a single-size app icon but has a value of 11.0 for the MinimumOSVersion key in its Info.plist file. Include all app icon sizes to support iOS 11.0 or later, or update the iOS Deployment Target to 12.0 or later to support uploads with a single-size app icon.
我已经确认我的 AppIcon 是选择了 All Size 的,不是 Single Size ,但是还是收到了这个错误提示。我想问问各位 iOS 开发者,这是苹果的问题还是我的设置出现了问题?如果是我的问题,请问应该如何解决?
谢谢大家的帮助!
]]>但是如果要写 SwiftUI 的话也没别的选择吧,光是那个热重载和 Live preview 就很难不用。
所以想问一下有没有可以较好改善 Xcode 编码体验的插件。
]]>但是在 xcode 里,按住 option 去按 delete 会删一大段东西。。。
有什么办法可以让 xcode 的按住 option 的删除逻辑和 vscode 一样吗?
]]> app.get("hello","vapor") { req in return "helo, vapor" } // TODO: covered last same path app.on(.GET, "hello","vapor") { req in return "wow" }
]]>所以想咨询下现在用 AppCode 开发咋样?
]]>比如我现在显示有效期还有一天了,但是我接下来的两天内都需要使用,但是期间我可能不能使用电脑等它过期了重新 build 一下,如何能刷新一个新的 7 天有效期?
Xcode 有没有提供命令行等之类的工具能做到的?
]]>不启动 Xcode ,内存占用 28% 启动 Xcode ,运行一段时间后,内存占用 75%
(75%-28%)*32=15.04G
]]>因为要编译一个 app
]]>这是 github 地址: https://github.com/jack80342/ShadowsocksX-NG
]]>后来入手了 Apple Watch ,我的天啊,噩梦来了。
每次调试的时候,很大概率会卡在 Preparing XXX's Apple Watch ....
我不需要 AW 的调试,能不能加个开关,或者在用户需要用 AW 调试的时候再去做这些处理啊
好气啊
]]>发现只要把 Xcode 12 的 build 改为 13 的 build 就行了...
https://stackoverflow.com/questions/69994916/how-can-i-run-xcode-12-5-1-on-monterey
]]>Xcode 对磁盘空间要求越来越高了,有 40G 的磁盘空间都无法完成升级,相当不友好。本文主要是介绍一下如何在 macOS / Linux 下对 xip 文件进行精简后安装。
精简前:Xcode_13.xip 9.9G / 安装后 >35 G 精简后:Xcode_13.tar.gz 3.6G / 安装后 8.1G (只保留 macOS 相关 SDK )
Xcode 占空间比较大的主要是一堆平台的 SDK 和模拟器。Xcode 提供的是不是典型的 dmg 文件,而是一个 xip 文件。本文基本思路就是解压缩 xip 文件,删除一堆平台的 SDK 和模拟器再安装。后续需要时,可以重新下载安装删除的 SDK 和模拟器。
登录 Apple Developer (需要认证),访问下面链接,下载 Xcode 的 xip 文件
https://developer.apple.com/download/all/
xip -x Xcode_13.xip
从 xar 编译并安装 xar
。在 Linux 环境下需要参考 #18 issue 修改 configure.ac
,将 AC_CHECK_LIB([crypto], [OpenSSL_add_all_ciphers], , [have_libcrypto="0"])
修改为 AC_CHECK_LIB([crypto], [OPENSSL_init_crypto], , [have_libcrypto="0"])
从 pbzx 编译并安装 pbzx
,编译命令为:
## Linux gcc -I /usr/local/include pbzx.c -o pbzx -llzma -lxar ## macOS gcc -llzma -lxar -I /usr/local/include pbzx.c -o pbzx
使用 xar
解压缩 Xcode_13.xip
文件到指定目录
xar -xf Xcode_13.xip -C /path/to/extract/to
使用 pbzx
解压缩 Content
pbzx -n Content | cpio -i
在解压出来的 Xcode.app
中删除不必要的平台
# rm -rf Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform # rm -rf Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform # rm -rf Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform # rm -rf Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform # rm -rf Xcode.app/Contents/Developer/Platforms/WatchOS.platform # rm -rf Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform # 把 Xcode 重新打包 tar vfcz Xcode_13.tar.gz Xcode.app/* # 对比 Xcode 大小 # ls -alF Xcode* # .rw-r--r-- who cares 3.6 GB Tue Oct 1 01:43:51 2021 Xcode_13.tar.gz # .rw-r--r-- who cares 9.9 GB Mon Oct 1 15:19:25 2021 Xcode_13.xip # 安装 Xcode cd /Application tar vfxz Xcode_13.tar.gz # 安装后 Xcode 大小 # 8.1G /Applications/Xcode.app du -H -d 0 /Applications/Xcode.app
https://developer.apple.com/xcode/
Downloading...
]]>步骤:
在一台 M1 和一台 Intel 的 MacBook 上都反复试验成功。
]]>现在找到的解决方案有两种
下方向键
不放这两种方案有缺陷,Page Down 移动的行数太多了。按住方向键需要一段时间(我已经调节了按键重复的间隔)。
所以还有其他的解决方案吗?比如按一个按键就移动 10 行或者半页?就像 Vim 里面的CTRL-D
一样。