Dav*_*ana 22 debugging macos xcode objective-c screensaver
我想知道是否有任何不错的方法,除了NSLog-ing几乎所有东西 - 在OS X中正确调试Screensaver应用程序包?
"屏幕保护程序"是Xcode中的项目类型,但显然没有Build and Go调试.此外,我发现实际上我的捆绑包已经加载到了
/System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app
Run Code Online (Sandbox Code Playgroud)
应用程序作为某种插件.
那么调试代码有一个不错的方法吗?查看崩溃报告和NSLoging到控制台有帮助,但它远非完美.
由于OS X 10.11 El Capitan的系统完整性保护功能,调试器无法附加到运行的任何内容/System/
.此外,此处的其他信息适用于旧版本的Xcode.
以下是我使用Xcode 7.2开发El Capitan的方法:
/System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/
到/tmp/
.(由于.xcscheme引用了完全限定的路径,因此将其复制到公共场所最适合协作,而不是特定用户主目录中的某个位置.).xcscheme
:
-debug
-background
-module "<product-name>"
在哪里).<product-name>
.saver
/bin/bash
及其构建设置来自该方案.它创建了一个指向内置.saver
包的符号链接~/Library/Screen Savers/
资源:
SCREEN_SAVER_PATH="${HOME}/Library/Screen Savers/${FULL_PRODUCT_NAME}"
if [[ -d "${SCREEN_SAVER_PATH}" || -f "${SCREEN_SAVER_PATH}" || -L "${SCREEN_SAVER_PATH}" ]]; then
rm -Rf "${SCREEN_SAVER_PATH}"
fi
ln -s "${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}" "${SCREEN_SAVER_PATH}"
Run Code Online (Sandbox Code Playgroud)
现在,当您点击Xcode的"运行"按钮时,屏幕保护程序将在桌面上以壁纸模式运行,您可以使用调试器.
归档时间: |
|
查看次数: |
6463 次 |
最近记录: |