【问题标题】:ERROR: iPhone Private Frameworks "No such file or directory"错误:iPhone 私有框架“没有这样的文件或目录”
【发布时间】:2010-12-14 06:20:07
【问题描述】:

我已将私有框架添加到我的项目中。当我在 DEVICE 中构建时 | RELEASE 一切正常,我可以 ldid -S 应用程序,它在我的设备上成功启动。

但是,当尝试在模拟器中构建并运行时,我收到错误“没有这样的文件或目录”,如下所示:(我也收到两次错误,这也很奇怪。)

 Line Location HomeProfileViewController.h:10: error:  BluetoothManager/BluetoothManager.h:  No such file or directory

以下是我目前拥有的项目和构建设置,也许有人可以找到错误并告诉我,那太棒了!

项目设置:

PRIVATE_HEADERS_FOLDER_PATH = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include"
PUBLIC_HEADERS_FOLDER_PATH = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include"
USER_HEADER_SEARCH_PATHS = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include"

OTHER_CFLAGS = "-I/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include-I/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/arm-apple-darwin9/4.0.1/include-F/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks-DMAC_OS_X_VERSION_MAX_ALLOWED=1050"

目标构建设置:

PRIVATE_HEADERS_FOLDER_PATH = "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks"
FRAMEWORK_SEARCH_PATHS = "$(inherited) $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks"
USER_HEADER_SEARCH_PATHS = "/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include/**"

OTHER_CFLAGS = "-I/Developer/SDKs/iPhoneOS.sdk/Versions/iPhoneOS3.0.sdk/include-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include-I/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/arm-apple-darwin9/4.0.1/include-F/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks-DMAC_OS_X_VERSION_MAX_ALLOWED=1050"

注意:路径中的引号实际上并没有出现在我的项目中,我将它们放入以便网站将它们语法更好。

赛迪亚

【问题讨论】:

  • 你想被应用商店拒绝吗? :S
  • 只是一个重新标记。此应用位于 Cydia 中。

标签: ios xcode frameworks cydia iphone-privateapi


【解决方案1】:

实际上,对于 SDK 3.0+,请确保二进制文件和标头位于 PrivateFrameworks 文件夹中,如下例所示: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager.framework

二进制文件和头文件必须在这个目录下,头文件必须在/Headers下,例如: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/BluetoothManager.framework/Headers/BluetoothManager.h

然后在需要私有标头的地方使用这些语句:

#if TARGET_IPHONE_SIMULATOR
    //This is where you put code for simulator
#else
    //Private functions will go here!       
#endif

现在您可以从上面列出的第一个目录中添加私有框架,您可以构建并运行模拟器,构建设备!在设备/模拟器之间切换时,您不必添加/删除框架!

【讨论】:

  • 非常感谢你!我很感激!如果 BLTH 断电,我创建了弹出窗口,有 2 个按钮和 2-nd 按钮可以启用 BLTH。
猜你喜欢
  • 1970-01-01
  • 2021-10-31
  • 1970-01-01
  • 2021-03-06
  • 2013-08-08
  • 2013-11-04
  • 2012-02-18
  • 2012-10-21
  • 2011-03-22
相关资源
最近更新 更多