0


我们正在构建三个 iOS 应用程序,这三个应用程序几乎相同,因此我们决定为这些应用程序的核心创建和使用一个库。我们也使用 CocoaPods 作为依赖项。除libPhoneNumber-iOS外,一切正常。

我在我们的项目(使用 CocoaPods)中添加了 libPhoneNumber-iOS 作为依赖项,构建了资源和库,但问题是 libPhoneNumber 使用的 plist 文件未加载。所以每次,字典都是空的。

我通过将此 plist 文件添加到子项目中找到了解决方案并且它正在工作。但我不想为每个应用程序都这样做。你知道问题可能是什么吗?

谢谢。

4

1 回答 1

0

我不知道为什么(所以我将来会删除那个 plist 文件)但我有一些解决方案,见下文。

[解决方案?1] 嗨,即使我也面临同样的问题。我跟踪到 NSKeyedUnarchiver unarchiveObjectWithData:fileData] 的工作流程,并检查了文件 fileData 的值,它接近 .4mb,因此文件及其内容数据肯定会到达那里。

显然 NSKeyedUnarchiver unarchiveObjectWithData: 有错误。

NSKeyedUnarchiver unarchiveObjectWithFile: 在 init: 方法中返回 nil

通过 suds89 ( https://github.com/suds89 )

[解决方案?2]我也为这个确切的问题苦苦挣扎了一段时间,并认为取消归档在模拟器上正常工作,但在设备上却不行。

我注意到 fileData 的字节大小不同:设备上的 180085 和模拟器上的 496050,因此在数据不完整的情况下,取消归档显然无法正常工作。

解决方案是确保将 NBPhoneNumberMetadata.plist 不仅放入 Resources 文件夹,而且实际上放入 Supporting Files 文件夹,然后对项目进行清理,重新构建并运行它。奇迹般有效!:-)

通过 irinutze ( https://github.com/irinutze )

于 2014-06-25T00:47:25.313 回答