Xcode中添加Copy Files Build Phase选项

2013年11月6日 分类: Cocoa, 编程 (5,495 个脚步)

Mac OS X上的绝大部分程序都使用Sparkle来作为程序的自动升级工具。利用Sparkle,用户无需对升级过程进行干涉,只需跟着升级指示做就可以了。

但是他需要增加一个Build Phase,在编译程序的时候将Framework复制到运行文件中。然而,xcode5已经把界面改动的很大,原来的操作界面、截图的都不管用了。

在工程的Build Phase中,默认的只有这4个

没有Sparkle需要的Copy Files。。。没有这个选项的话,将Sparkle复制进来就会报错

2013-11-06 15:35:23.647 PCBetaClient[10555:303] Unknown class 'SUUpdater', using 'NSObject' instead. Encountered in Interface Builder file at path /Users/shiniv/Library/Developer/Xcode/DerivedData/Client-gixzhwxuqxextacqrqcvwrtbglcr/Build/Products/Debug/Client.app/Contents/Resources/MainMenu.nib.
2013-11-06 15:35:23.648 Client[10555:303] Could not connect the action checkForUpdates: to target of class NSObject

找了大半天,在网上也一直在搜索关于xcode5添加Framework的,居然一个都么有。。唉

对比了原来写的工程,居然有Copy Files 选项 !!!

最后找了下菜单栏,!@#¥%……&  原来TMD苹果在xcode5中将他放进菜单栏里面去了。。

将他选上,Destination设置为Framework,点+号添加Sparkle,如图

编译通过!!xcode5 真TM坑

PS:

Sparkle添加进去后,有可能会出现一下错误

dyld: Library not loaded: @loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle
  Referenced from: /Users/shiniv/Library/Developer/Xcode/DerivedData/PCBetaClient-gixzhwxuqxextacqrqcvwrtbglcr/Build/Products/Debug/Client.app/Contents/MacOS/Client
  Reason: image not found

将Link Binary With Libraries的中的Sparkle选项从required 改为Optional就好了~~

Xcode中添加Copy Files Build Phase选项 【声明】本文 Xcode中添加Copy Files Build Phase选项 为柠之漠然原创文章,转载请注明出自 枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2013/11/xcode-add-copy-files-build-phase/ , 转载请保留本声明!

标签: , , , ,
目前还没有任何评论.
你必须要启用 Javascript