携手创作,一起生长!这是我参加「日新计划 8 月更文应战」的第36天,点击检查活动详情

导言

  1. Xcode13新建项目不显现Products目录的处理方案
  2. Xcode13新建的工程恢复从前的Info.plist同步机制的办法
  3. 主动办理签名证书时拉取更新设备描绘文件的办法。

I 显现Products目录的处理方案

问题:Xcode13 新建的项目不显现Products目录

处理办法: 修正project.pbxproj 文件的productRefGroup装备信息

效果:

iOS小技能:Xcode13的使用技巧
运用场景:Products目录的app包用于快速打测试包。

1.1 从Xcodeeproj 翻开project.pbxproj

iOS小技能:Xcode13的使用技巧

1.2 修正productRefGroup 的值

将mainGroup 对应的值复制给productRefGroup 的值,按command+s保存project.pbxproj文件,Xcode将主动刷新,Products目录显现出来了。

iOS小技能:Xcode13的使用技巧

1.3 运用场景

经过Products目录快速定位获取真机调试包途径,运用脚本快速打包。

iOS小技能:Xcode13的使用技巧

打包脚本核心逻辑:在含有真机包途径下复制.app 到新建的Payload目录,zip紧缩Payload目录并依据当时时刻来命名为xxx.ipa。

#!/bin/bash
echo "==================(create ipa file...)=================="
# cd `dirname $0`;
rm -rf ./Target.ipa;
rm -rf ./Payload; 
mkdir Payload; 
APP=$(find . -type d | grep ".app$" | head -n 1)
cp -rf "$APP" ./Payload; 
data="`date +%F-%T-%N`"
postName="$data"-".ipa"
zip -r -q "$postName" ./Payload; 
rm -rf ./Payload;
open .
# 移动ipa包到特定目录
mkdir -p ~/Downloads/knPayload
cp -a "$postName" ~/Downloads/knPayload
open ~/Downloads/knPayload
echo "==================(done)=================="
exit;                                                                                                                                                                                               

iOS小技能:Xcode13的使用技巧

II 封闭打包兼并Info.plist功用

Xcode13之前Custom iOS Target Properties面板和Info.plist的装备信息会主动同步。

Xcode13新建的工程默认开启打包兼并Info.plist功用,不再运用装备文件(Info.plist、entitlements),假如需要修正装备,直接在Xcode面板target - Info - Custom iOS Target Propertiesbuild settings中设置。

iOS小技能:Xcode13的使用技巧

Projects created from several templates no longer require configuration files such as entitlements and Info.plist files. Configure common fields in the target’s Info tab, and build settings in the project editor.

2.1 设置Info.plist为主装备文件

因为GUI装备面板没有装备文件plist的灵活,不支持检查源代码。所以我们能够在BuildSetting Generate Info.plist File设置为NO,来封闭打包兼并功用。

iOS小技能:Xcode13的使用技巧

封闭打包兼并功用,重启Xcode使装备生效,Custom iOS Target Properties面板的信息以info.plist的内容为准。

每次修正info.plist都要重启Xcode,info.plist的信息才会同步到Custom iOS Target Properties面板。

iOS小技能:Xcode13的使用技巧

2.2 注意事项

注意: 封闭打包兼并Info.plist功用 之前记住先手动同步Custom iOS Target Properties面板的信息到Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
     <key>CFBundleExecutable</key>
     <string>iOS逆向</string>
     <key>CFBundleIdentifier</key>
     <string>blog.csdn.net.z929118967</string>
     <key>CFBundleName</key>
     <string>YourAppName</string>
     <key>CFBundleShortVersionString</key>
     <string>1.0</string>
     <key>CFBundleVersion</key>
     <string>1</string>
     <key>LSRequiresIPhoneOS</key>
     <true/>
     <key>UIApplicationSceneManifest</key>
     <dict>
         <key>UIApplicationSupportsMultipleScenes</key>
         <false/>
     </dict>
     <key>UIApplicationSupportsIndirectInputEvents</key>
     <true/>
     <key>UILaunchScreen</key>
     <dict>
         <key>UILaunchScreen</key>
         <dict/>
     </dict>
     <key>UISupportedInterfaceOrientations~ipad</key>
     <array>
         <string>UIInterfaceOrientationPortrait</string>
         <string>UIInterfaceOrientationPortraitUpsideDown</string>
         <string>UIInterfaceOrientationLandscapeLeft</string>
         <string>UIInterfaceOrientationLandscapeRight</string>
     </array>
     <key>UISupportedInterfaceOrientations~iphone</key>
     <array>
         <string>UIInterfaceOrientationPortrait</string>
         <string>UIInterfaceOrientationLandscapeLeft</string>
         <string>UIInterfaceOrientationLandscapeRight</string>
     </array>
</dict>
</plist>

III 主动办理签名证书时如何拉取最新设备描绘文件?

办法:依据描绘文件的创建时刻来删去旧的主动办理证书的描绘文件

iOS小技能:Xcode13的使用技巧
iOS小技能:Xcode13的使用技巧

原理:在~/Library/MobileDevice/Provisioning\ Profiles 文件夹中删去之前的描绘文件,然后体系检测到没有描绘文件则会主动生成一个新的

see also

iOS第三方库办理标准:以Cocoapods为案例

kunnan.blog.csdn.net/article/det…

iOS接入腾讯优量汇开屏广告教程

kunnan.blog.csdn.net/article/det…