分类目录归档:Darwin

Image not found when using dylib in xcode

Some errors like this:

dyld: Library not loaded: /usr/local/lib/libXXX.dylib
Referenced from: /sers/david/Projekte/Test/build/Debug/Test.app/Contents/MacOS/Test
Reason: image not found

 

Answer:

Make sure to install the command line tools from developer.apple.com and then add the library in your project . Run the following script in your Xcode :Targets->Build Phases->Run Script and just execute :
install_name_tool -id @executable_path/../Frameworks/librayName.dylib “$SRCROOT/librayName.dylib”
——itechnician

 

Important information:

Before going for solution, you should know what is new with dependent library “dylib” in MAC as compare to dependent library “dll” in windows.

The major difference in dylib vs dll is “install name“. The install name is a path baked into the dynamic library that says where to find the library at runtime. It does not matter where you copy your dylibs, It will always point to old path(except without changing install name). You can know original search path(install name) by using command as below

otool -L a.dylib

(just drag dylib in place of a.dylib)

For more detail about install name, refer the link : http://www.chilkatforum.com/questions/4235/how-to-distribute-a-dylib-with-a-mac-os-x-application

Now, solution for changing the new location for dylib(“install name”) is just use install_name_tool as below

install_name_tool -change old path of dylb new path of dylib

you can get old path by otool -L command described above already.(old path i.e. original path)

“install_name_tool -change” can change search path of dylib and executable as well.

You can use this in Xcode by writing in “Run script” file in your project.

——NIlesh Srivastava

Address:

http://stackoverflow.com/questions/4876740/xcode-keeps-searching-dylib-at-wrong-path

 

================================================

In fact, there are 8 steps to deal with this issue:

1. Drag your custom dylib file to project

2. Click “+” at top of “Build Phases” page to add a “Copy Files” segment

3. Select “Framework” at destination line

4. Click “+” at the bottom of copy files segment to add your dylib

5. Click “+” at top of “Build Phases” page to add a “Run Script” segment

6. Past bellow line in shell box:

install_name_tool -id @executable_path/../Frameworks/libraryName.dylib “$SRCROOT/libraryName.dylib”

7. Change “libraryName.dylib” to your library name

8. Build.

屏幕快照 2014-12-25 下午2.12.25

Good luck! :)

 

15道烧糊大脑的苹果面试题

以下15道题是从求职论坛GlassDoor摘选出的真实的苹果面试题目:

1.桌子上放着一部老款iPhone。你所了解的iPhone使用的材料有哪些?

面试职位:产品设计工程师

苹果产品设计工程师的重要任务之一就是控制供应成本,以降低手机的价格。

苹果的手机定价非常具有竞争力,因此面试者必须懂得如何在特定成本区间内设计产品。懂得材料及其性质能够帮助设计师在维持低成本的同时设计出更好的产品。

2.形容一下你平时使用苹果产品的情况。

面试职位:销售

如果你想销售苹果的产品,你最好已经是苹果产品的用户。

不用说,苹果当然不会雇佣一个从来没有使用过iPhone的人做销售。

3.如果有500台洗衣机被测试实验室认定为不合格,你如何找出不合格的原因以及解决办法?

面试职位:产品质量工程师

如果制造过程中出现任何故障,你可能会失去价值数相当于百台iPhone的收入–这个数字也有可能是数万台或数十万台。

如果你想担任产品质量工程师,那么请首先确认,不管出现什么问题,你都能发现故障并找出原因所在。尤其是当问题出现在供应链早期的时候,这一点更加重要。

4.在极其有限的资源环境下,如何在user-space框架下实现处理网络、文件系统、UI系统等的线程模型?

面试职位:软件工程师

编写一组代码并使之运行非常容易,但要让它高效率运行却很难。

尤其是如果你在为一款手机设计软件。你必须使用低功耗的芯片,以维持较长的续航时间。

5.你如何计算出中国供应给美国的苹果的数量?

面试职位:材料项目经理

面试官所指的是苹果。你懂的,一种水果。

但这仍然是一道相当基础的供应链题目。如果你要担任供应链管理职位,你需要清楚地知道供应商有哪些,他们能提供的材料有哪些。

苹果优势的一个重要来源就是,他们买断了制造智能手机所需的所有最好的零部件。如果你对整个供应链都了如指掌,你就能降低成本。

6.使用运算放大器设计一个LED驱动电路。

面试职位:硬件工程师

许多情况下,你设计的产品不会工作在最适宜的环境下。有时会太热,有时会太冷,甚至会掉进水里。

你必须保证你的硬件在这些非最佳环境下仍然能够运行。

7.你如何诊断缓冲区溢出?

面试职位:软件工程师

许多时候,判定一个工程师是否属于最优秀的行列,最好办法就是问他们如何解决一个问题。

如果出现缓冲区溢出,结果可能是灾难性的。因此,如果你想测试手下的工程师面临极端问题时将会如何反应,这个问题很适合。

8.现在有100个标记过的电灯泡。第一个人经过这些灯时,点亮所有的灯,第二个人经过时每隔一盏灯就切换开关一次,第三个人经过时每隔两盏灯切换开关一次。请问,当第100个人经过时,还剩多少盏亮着的灯?

面试职位:高级软件工程师

苹果面试官们并非全部使用原创的面试题,他们有时也会使用可汗学院(Khan Academy)设计的脑筋急转弯。

但是,这道题仍然是一道需要运用巧妙数学原理解决的很复杂的题目,很适合测试工程师解决问题的能力。

9.你平时看科技新闻多不多?

面试职位:Mac天才

如果你想在苹果零售店里工作,你需要知道普通大众对苹果在新闻上的印象如何。

面试官想知道你是否平时经常看TechCrunch、瘾科技或腾讯科技。

10.现在有一个6×6的方格,从左上角的点出发,只能向右或向下移动,请问到达右下角需要多少步?

面试职位:高级软件工程师

这种问题被称为步数计算题。这是最基本的测试思维方式而非要求正确答案的题目之一。

苹果会问高级工程师这种脑筋急转弯,这似乎并不让人觉得惊讶。

11.你如何确定表面曲率的连续性?

面试职位:CAD雕塑师

苹果会制造非常多的设备模型,如iPhone和iPad的原型机等。这些都需要经过严格的测试,因此苹果需要招聘能够快速做出模型的人。

但这些模型仍然需要与苹果的其他设备一样完美。因此,苹果必须确定雕塑师和设计师拥有完美主义特质,即便是玻璃的形状也要精益求精。

12.在一个相互连接的点组成的列表中,找到中间节点。

面试职位:Cocoa camp

苹果希望软件工程师能够给出一个巧妙的解决方案。

例如,可以使用两个“指针”,其中一个指针顺着每一个点依次通过,而另一个指针则每走一步跳过一个点。当第二个指针达到终点,第一个指针刚好达到中间节点。

13.如果你能为远程控制功能新增一项技术,你希望增加什么样的技术?

面试职位:天才吧Specialist专家

这个问题很古怪–或许苹果是在测试面试者是否为iPhone粉丝。

天才吧的Specialist必须是大大的苹果粉丝。

14.想出5种在铁板上打洞的办法。

面试职位:产品设计工程师

苹果希望设计和硬件工程师既对技术无比精通,同时富有创新精神。

因此,即使是在铁板上打一个洞这么简单的事也可能有多种办法。苹果在测试面试者的创意能力。

15.你高中时期最容易进入或最适合的社团是什么?

面试职位:天才吧Specilist专家

如果你需要一眼看出零售店内哪些人更有可能买苹果产品,你必须拥有慧眼识人的能力。

Specialist必须将顾客进行分类,然后尽快弄明白他们是否真的想购买某种产品。想购买产品的那些人往往都有一些共同点。

本文摘自网络