Foren

iOS Liferay Screens integration: YapDatabase error

thumbnail
Genar Codina, geändert vor 7 Jahren.

iOS Liferay Screens integration: YapDatabase error

Junior Member Beiträge: 28 Beitrittsdatum: 18.04.16 Neueste Beiträge
I have had problems to integrate "LIferay Screens" in a new XCode project.
I am using, as a base SDK, the latest one (that is, iOS 9.3).

Firstly I have created a "Simple View Project" (it only shows a white view controller) and then I have created the corresponding Podfile; that is:

# Uncomment this line to define a global platform for your project
platform :ios, '8.0'

target 'LiferayScreenLetApp' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for LiferayScreenLetApp
  pod 'LiferayScreens'

end


So the result of executing:
pod install

is:
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.6.3)
Installing CocoaLumberjack (2.3.0)
Installing CryptoSwift (0.1.1)
Installing DTPickerPresenter (0.2.0)
Installing KeychainAccess (2.3.1)
Installing Liferay-OAuth (1.2.1)
Installing Liferay-iOS-SDK (7.0.4)
Installing LiferayScreens (1.4.0)
Installing MBProgressHUD (0.9.1)
Installing MDRadialProgress (1.3.2)
Installing ODRefreshControl (1.2)
Installing SMXMLDocument (1.1)
Installing SQLCipher (3.4.0)
Installing TNRadioButtonGroup (0.4)
Installing YapDatabase (2.8.2)
Generating Pods project
Integrating client project

You can see that the YapDatabase version is 2.8.2.
Then I have opened the ".xcworkspace" file and I have executed the project; however, the following error appears:


Additional info:
pod --version
1.0.1


I have also tried to set, in the Podfile, a specific version of the 'LiferayScreens' like the 7.4.0, but the I got the same error.

It seems that there is something "strange" in the YapDatabase (not the Liferay Screen itself), but I do not know how to remove that error.
thumbnail
Salva Tejero, geändert vor 7 Jahren.

RE: iOS Liferay Screens integration: YapDatabase error

Junior Member Beiträge: 77 Beitrittsdatum: 13.06.11 Neueste Beiträge
you can try this

https://github.com/yapstudios/YapDatabase/issues/322
thumbnail
Genar Codina, geändert vor 7 Jahren.

RE: iOS Liferay Screens integration: YapDatabase error

Junior Member Beiträge: 28 Beitrittsdatum: 18.04.16 Neueste Beiträge
Hi, thanks for the information:
https://github.com/yapstudios/YapDatabase/issues/322

The temporary solution of renaming "yap_vfs_shim.c" to "yap_vfs_shim.m" (mentioned in the previous link), has giving me another problem in the compilation process; that is:
#include "sqlite3.h" is not found in the file "yap_vfs_shim.h"
I could solve it easily adding the suitable directory in the corresponding Header Search Path of the project (the suitable directory is Pods/SQLCipher; that is, that directory contains the "sqlite3.h" and "sqlite3.c" files).
So, once added the correct "Header Search Path" in the project I have compiled the project again; however I have had a new link problem related to AFNetworking; that is:

I have also tried other solutions like adding the sqlite.tbd framework and also set, in the "Other linker flags", -lsqlite3; but I could not solve the problem.

Thanks in advance,
thumbnail
Salva Tejero, geändert vor 7 Jahren.

RE: iOS Liferay Screens integration: YapDatabase error

Junior Member Beiträge: 77 Beitrittsdatum: 13.06.11 Neueste Beiträge
Delete deriveddata

Add

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif

to YapDatabase-prefix.pch
thumbnail
Jose M. Navarro, geändert vor 7 Jahren.

RE: iOS Liferay Screens integration: YapDatabase error (Antwort)

Regular Member Beiträge: 138 Beitrittsdatum: 24.01.14 Neueste Beiträge
Yes, this is a known issue with cocoapods 1.x

I use version 0.39.x which works well
thumbnail
Genar Codina, geändert vor 7 Jahren.

RE: iOS Liferay Screens integration: YapDatabase error

Junior Member Beiträge: 28 Beitrittsdatum: 18.04.16 Neueste Beiträge
Version 0.39 works properly.
I only want to comment that if a developer has installed the version 1.0.1 of cocoapods (like me), then it is not necessary to uninstall that version and then install version 0.39. I mean that it is only necessary to create the corresponding podfile; for example:

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'LiferayScreenLets' do
pod 'LiferayScreens'
end


And then execute:
pod _0.39.0_ install

Doing so the version 0.39 of cocoapods will be used (instead of the default one; which in my case is 1.0.1).