我们的团队正在开发一个应用程序,我想添加一些主屏幕快速操作,仅用于调试目的。此外,我希望在全新安装后立即启用它,这意味着不能选择动态快速操作。但是,我不知道是否只能在调试模式下启用静态快速操作。有什么办法可以做到这一点?
最佳答案
为此,您有两个主要选择:
-任何类型文件的GENERAL选项:
最干净的方法是为每个配置使用单独的文件。然后:
info.plist
文件,一个用于调试,另一个用于生产sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/"
debugFileName="Debug-Info.plist"
releaseFileName="Release-Info.plist"
if [ "$CONFIGURATION" == "Debug" ]; then
cp $sourceFilePath/$debugFileName "$INFOPLIST_FILE"
else
cp $sourceFilePath/$releaseFileName "$INFOPLIST_FILE"
fi
请注意,在此示例中:
info.plist
文件相同的目录中。 但是我做了所有变量,您可以将它们更改为所需的任何值。
-任何
plist
文件的More SPECIFIC选项:由于
Info.plist
是属性列表,因此可以使用 PlistBuddy 直接编辑其中的任何值。这是仅在调试模式下添加快捷方式项的示例脚本:/usr/libexec/PlistBuddy -c "Delete :UIApplicationShortcutItems" "$INFOPLIST_FILE"
if [ "$CONFIGURATION" != "Debug" ]; then
exit
fi
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems array" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "delete :UIApplicationShortcutItems" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems array" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0 dict" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0:UIApplicationShortcutItemIconType string UIApplicationShortcutIconTypePlay" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0:UIApplicationShortcutItemTitle string Play" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0:UIApplicationShortcutItemSubtitle string Start playback" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0:UIApplicationShortcutItemType string PlayMusic" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0:UIApplicationShortcutItemUserInfo dict" "$INFOPLIST_FILE"
/usr/libexec/PlistBuddy -c "add :UIApplicationShortcutItems:0:UIApplicationShortcutItemUserInfo:firstShortcutKey1 string firstShortcutKeyValue1" "$INFOPLIST_FILE"
请记住在
Copy Bundle Resources
之前的某个时间运行此脚本。我建议您始终将脚本代码放在单独的文件中,并在构建阶段进行调用。
关于ios - 如何仅在 Debug模式下启用3D触摸(静态快速 Action )?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57338887/