【发布时间】:2015-07-06 22:32:07
【问题描述】:
我是 iOS 和 Swift 的新手。我想在没有开发者帐户的情况下在真实设备而不是模拟器中调试我的应用,例如使用 Android Studio 调试 Android 应用。
我有一个越狱的 iOS 设备,我使用的是 xcode 6.2
无论如何,我想要一步来调试我的应用程序并在任何参数或变量发生变化时查看设备日志。经过多次搜索,我想直接问:我应该做什么......
请有人帮帮我...
提前感谢您的回答。
【问题讨论】:
我是 iOS 和 Swift 的新手。我想在没有开发者帐户的情况下在真实设备而不是模拟器中调试我的应用,例如使用 Android Studio 调试 Android 应用。
我有一个越狱的 iOS 设备,我使用的是 xcode 6.2
无论如何,我想要一步来调试我的应用程序并在任何参数或变量发生变化时查看设备日志。经过多次搜索,我想直接问:我应该做什么......
请有人帮帮我...
提前感谢您的回答。
【问题讨论】:
首先,最好有一个用于开发目的的帐户! 无论如何,有一种方法可以解决问题。
由于没有针对新版本的 ios 和 Xcode 的最新答案,因此我在一些细节中进行了说明。
首先您应该从“cydia.angelxwind.net”cydia repo 下载“Appsync Unified”到您的设备。
然后您可以继续这些步骤
首先打开应用程序,在 xcode 上单击 Show Package Contents 并通过这些路径:
内容 -> 开发者 -> 平台 -> iPhoneOS.platform -> 开发者 -> SDKs -> iPhoneOS.sdk -> SDKSettings.plist
将 SDKSetting.plist 复制到某处以防更改值。
在 DefualtProperties 部分更改:
ENTITLEMENTS_REQUIRED 为 YES
CODE_SIGNING_REQUIRED 为否
AD_HOC_CODE_SIGNING_ALLOWED 为 YES
如果 Xcode 已打开,请关闭它并重新打开它。转到项目的构建设置。(注意您必须选择项目而不是目标)
在代码签名部分更改:
代码签名身份到临时代码签名
现在 Debug 和 Realese 也应该更改为 Ad Hoc Code Sign。
现在创建新文件 -> 资源 -> 属性列表
将其名称设置为 Entitlements.plist
添加一个项目,它应该可以调试并将值设置为YES
现在返回代码签名部分的构建设置并更改:
对 Entitlements.plist 的代码签名权利
现在您可以轻松地将设备目标设置为越狱设备并运行它。
【讨论】:
似乎没有多少教程告诉你如何为 iOS8.1 和 XCode 6.1 执行此操作(它们都有些过时了),但这是有效的:
- 在您的越狱设备上安装来自 AngelXWind 存储库的 AppSync Unified 5.2-1(或更高版本)。不要使用任何其他 AppSync,如果您有 其他人,请务必将其删除。
- 打开
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist并将AD_HOC_CODE_SIGNING_ALLOWED更改为YES。你可能需要 将其复制到桌面,更改它,保存它,然后拖放 回到原始文件夹,因为 OS X 允许您在 地点。- 如果 XCode 正在运行,请重新启动 XCode。
在构建设置中将您的项目和目标设置更改为
Ad Hoc Code Sign告诉 XCode 在 iPhone 上运行应用程序。此时 XCode 会将应用程序放在您的 iDevice 上,但无法调试,因为它无法附加到 过程。该应用程序将启动然后立即关闭。您现在可以 现在手动启动手机上的应用程序。
- 启用调试:在您的项目中选择文件>新建文件属性列表并创建一个名为“Entitlements.plist”的文件。添加“可以 debugged”或“get-task-allow”(两者都做同样的事情)并设置 值为 YES。
- 现在将您的项目和目标代码签名权利(在构建设置中)更改为“Entitlements.plist”(您必须输入它)。
现在 XCode 可以运行和调试应用了。祝你好运
【讨论】: