使用终端或脚本编译工程
前置条件 多人合作开发时 保证新的代码可以编译 于是使用脚本来进行编译
0 先在电脑中 正常的运行一次代码
1 找到 .xcodeproj
工程 显示包内容. 打开project.pbxproj
找到DEVELOPMENT_TEAM
2 复制DEVELOPMENT_TEAM的Value (10位数类似D5M8CJ9NDR)
3 终端切到 工程文件所在的文件夹
xcodebuild build -project 工程名.xcodeproj
-configuration Release
-allowProvisioningUpdates
DEVELOPMENT_TEAM="D5M8CJ9NDR"
CODE_SIGN_STYLE=Automatic
CODE_SIGN_IDENTITY="Apple Development"
OMBINE_HIDPI_IMAGES=YES
App内购买项目的收益抽成降至15%
申请网站 https://developer.apple.com/cn/app-store/small-business-program/
文件夹中多个.a 合并成一个
libtool -static -o libXXXX.a *.a
Xcode使用OpenGL提示warning
在使用openGLES的.m或.mm或.cpp的最上方添加
#define GLES_SILENCE_DEPRECATION
Xcode 13 Executable Not Found
error:
check your project settings to ensure that a valid executable will be built
方案 打开 project.pbxproj 文件
找到/* Begin XCBuildConfiguration section */
在代码中添加
buildSettings = {
xxxxxx
ARCHS = arm64;
}
Cocoapods 安装不成功
sudo gem install -n /usr/local/bin cocoapods ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.
打印 ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]
原因使用了系统的ruby 权限不够
解决方法
# 安装新的ruby
rvm install 3.0.0
# 成功后查看
ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin20]
# 在安装pod
sudo gem install -n /usr/local/bin cocoapods
# 查看pod
pod --version
1.11.2
或使用 brew 安装
brew install cocoapods
pod --version
bufferData写入文件
YUV buffer 大小 (width * height) * 3 / 2
RGB buffer 大小 (width * height) * 3
NSString *documentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true) lastObject];
documentsDir = [documentsDir stringByAppendingPathComponent:@"buffer.txt"];
if ([[NSFileManager defaultManager] fileExistsAtPath:documentsDir]) {
[[NSFileManager defaultManager] removeItemAtPath:documentsDir error:nil];
}
[[NSFileManager defaultManager] createFileAtPath:documentsDir contents:nil attributes:nil];
for (int i=0; i<width*height*3; i++) {
NSFileHandle * fileHandle = [NSFileHandle fileHandleForWritingAtPath:documentsDir];
int v = bufferPtr[i];
NSString *context = [NSString stringWithFormat:@"%d ",v];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[context dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];
}