使用hackintosh(i7-4790K 4GHz,16GB DDR3,GF980Ti)在XCode(Swift和Objective-C)上进行大约一年的开发,绝不会出现任何错误.但现在我需要使用仪器应用程序(如泄漏,分配,能量日志,系统跟踪等) - 但我不能!当我启动任何这些应用程序时,我只看到透明窗口,没有任何可见信息.任何建议将不胜感激.
这可能是一个失败的原因,但我会问,因为我老实说只是好奇......
我们有一个客户想要为OS X创建替代消息应用程序.他们基本上想要使用相同的帐户,聊天记录和所有内容,但为内置消息提供完全不同的UI(对于有特定残疾的人) .应用程序.鉴于Messages.app,iMessage中的主要服务完全没有记录,因此创建他们自己的消息传递应用程序是不会飞的,所以支持使用第三方代码几乎是不可能的.
经过初步研究,显而易见的是,有文档记录的AppleScript方法将提供一个可行但粗略的解决方案,缺少原始应用程序的许多功能(例如打字时的指示等),更不用说它需要保留原始正在运行的消息应用程序会分散用户的注意力
那时我们开始深入挖掘并找到了IMCore.framework.IMCore基本上是Messages.app用来与各种服务进行通信的,它的引擎就是imagent管理数据,实际上与各种IM服务器进行通信.IMCore是一个私有框架,显然使用起来有些风险(并自动从App Store中排除他们的应用程序),但我们的假设是,对于OS X,我们仍然应该能够实现这一点并将应用程序分发到App Store之外而不是很难.
我们开始尝试IMCore(同时逆向工程Messages.app以查看它是如何使用的),并取得了一些进展.我们能够成功连接到imagent进程并执行多个配置操作,但后来发现数据模型基本上是空的 - 我们无法看到任何用户的数据或与任何IM服务通信,即使我们'在用户的安全上下文中重新运行.
然后我们注意到Messages.app有一些非常奇怪的未记录的权利,例如com.apple.private.imcore.imdpersistence.database-access和com.apple.imagent.在这一点上,我们假设这些权利是我们为了成功沟通而缺少的权利imagent.我们已经尝试将这些权利添加到我们自己的应用程序中,并且能够成功构建并对其进行编码,但是当程序启动时,它会在启动时因系统消息而崩溃EXC_CRASH (Code Signature Invalid)(Xcode说Terminated due to code signing error).
我们可怕的假设是Apple锁定了他们的私有权利,这样系统就不会接受使用它们的二进制文件,除非它是由Apple直接签名的,但这显然是一种理论.另一个问题是,如何imagent知道我们的二元是否具有这些权利?我们不能以某种方式欺骗这些权利吗?
正如我所说,感觉就像一个失败的原因,但谁知道.我猜猜在iOS上做过铁杆越狱工作的人可能会有一两个想法 - 任何人?
我正在学习在hackintosh上开发iOS小工具(iPhone或iPad)的应用程序.Apple有朝一日可以让我的应用程序被Apple审核吗?他们会抛弃我的应用程序,因为它是建立在hackintosh上的吗?
我住在美国以外的地方.预算对我来说非常紧张,Mac在这里更贵(它不仅仅是苹果商店的999美元).也许有一天我会购买一部iPhone(可能还有信用卡),当我在开发iOS应用程序时做得更好并准备在真正的iPhone上试用它们时,但就目前而言,hackintosh就是我的全部.请不要让我寻找其他选项,如"获取Mac"或"可重复使用的mac mini"等 - 我已经在那里了.当我说紧,然后紧.
我有运行Mac OS X 10.7.3的VMWare工作站8,使用我更新到OS X 10.7.5的软件更新.完成安装后,它要求重新启动我的OS X.我重新启动,一切都很完美.当我关闭Mac并尝试将其打开时,它会卡在负载上,它会显示Apple徽标和旋转器并永久保留.
我怎么能解决这个问题?
任何建议都非常感谢
我正在为一个客户开发一个内核驱动程序,该客户端将其出售给将其出售给最终客户的客户.最终客户不仅在合同中被移除了3次,而且还有数千英里和十几个时区.因此,我无法直接访问他们的测试环境.
在我正在测试的几台机器和几个不同版本的OS X上,一切都正常测试,我无法复制它们似乎遇到的一些问题.
我怀疑他们可能正在测试hackintosh,虽然我正在从他们的测试设置正确的角度处理他们报告的问题,但我想通过在下一个版本中添加代码来怀疑我的怀疑这将帮助我了解它们是否在真正的Apple硬件上运行.
现在我正在收集系统配置文件,kernel.log,console.log和USB配置文件.如果答案可以在其中一个中找到,那就更好了,但我假设它不会那么简单.
同样,我在用户空间和内核中都有代码,因此我可以完全访问该机器,但我更喜欢用户空间解决方案.用户空间代码以root身份运行,并在Apple徽标显示之前开始在启动时运行.虽然支持多个版本的OS X会很好,但10.6.8是我需要针对此案例定位的特定版本.
我正在使用10.12.6的hackintosh版本,我已经有Xcode 8.3.3,它工作正常.今天我安装了Xcode 9 beta 4,当我尝试运行它时,模拟器给我一个空白的屏幕,下面的图像有奇怪的图形,它永远保持这样.
我根据其他论坛尝试的事情
1.Reinstall the Xcode beta
2.`rm -rf ~/Library/Developer/Xcode/DerivedData`
3.Open Xcode and delete all the simulators using the Window > Devices window
4.Take a backup of `~/Library/Developer/CoreSimulator/Devices/device_set.plist` and then remove the `com.apple.CoreSimulator.SimRuntime.iOS-9-0` key.
5.Reinstall simulators within Xcode using the + in the lower-left of Window > Devices.
Run Code Online (Sandbox Code Playgroud)
我还删除了我的Xcode 8.3.3只是为了确保它不会产生任何冲突,但仍然没有运气.任何帮助表示赞赏
最近,一位同事在工作,问我是否可以准备和教授iPhone开发课程.我告诉他,他必须为我和学生提供一些Mac电脑来安装Xcode等等.
由于他不拥有任何Mac并且也没有计划购买任何一台Mac,他提议在Windows PC上进行虚拟化.据我所知,这里唯一的选择是Hackintosh.经过一番游戏,我发现这种方法很慢,并且让学生为这样的事情付费注册是非常非法的.我对吗?
我还想过让学生通过SSH连接到我的MacBook.但我几乎不认为我的计算机能够应对20个Xcode会话,更不用说多个远程桌面在OSX上不起作用了.
我的同事坚持虚拟化的事情.我已经告诉他,使用Hackintosh进行培训是非常草率和非法的(顺便说一下,我对此不是100%肯定,你能否确认并解释法律问题?).购买Mac不是他的选择,我不想教这个hackintosh材料的课程.你知道其他任何可能吗?
hackintosh ×7
ios ×4
macos ×3
instruments ×1
iphone ×1
jailbreak ×1
kernel ×1
macos-sierra ×1
testing ×1
vmware ×1
xcode ×1
xcode9-beta ×1