diff --git a/Kiwix-iOS/Controller/ControllerRetainer.swift b/Kiwix-iOS/Controller/ControllerRetainer.swift
index 303fc07d..c3ad9662 100644
--- a/Kiwix-iOS/Controller/ControllerRetainer.swift
+++ b/Kiwix-iOS/Controller/ControllerRetainer.swift
@@ -12,6 +12,18 @@ class ControllerRetainer {
static let shared = ControllerRetainer()
private init() {}
+ // MARK: - Search
+
+ var searchStore: SearchController?
+ var search: SearchController {
+ let controller = searchStore ?? UIStoryboard.search.instantiateInitialViewController() as? SearchController
+ searchStore = controller
+ return controller!
+ }
+
+
+ // MARK: - Library
+
private var libraryStore: UIViewController?
private func releaseLibrary() {libraryStore = nil}
@@ -24,12 +36,11 @@ class ControllerRetainer {
func didDismissLibrary() {
if #available(iOS 10, *) {
NSTimer.scheduledTimerWithTimeInterval(120.0, repeats: false, block: { (timer) in
- print("set nil")
self.libraryStore = nil
})
} else {
NSTimer.scheduledTimerWithTimeInterval(120.0, target: self, selector: Selector("releaseLibrary"), userInfo: nil, repeats: false)
}
}
-
+
}
diff --git a/Kiwix-iOS/Controller/Main/MainController.swift b/Kiwix-iOS/Controller/Main/MainController.swift
index 94ce8ba7..486fa586 100644
--- a/Kiwix-iOS/Controller/Main/MainController.swift
+++ b/Kiwix-iOS/Controller/Main/MainController.swift
@@ -23,7 +23,6 @@ class MainController: UIViewController {
var bookmarkController: BookmarkController?
var bookmarkNav: UIViewController?
var settingController: UIViewController?
- var searchController: SearchController?
var welcomeController: UIViewController?
let searchBar = SearchBar()
@@ -86,7 +85,6 @@ class MainController: UIViewController {
bookmarkController = nil
bookmarkNav = nil
settingController = nil
- searchController = nil
welcomeController = nil
}
diff --git a/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift b/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift
index 4bd8734f..d6274b12 100644
--- a/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift
+++ b/Kiwix-iOS/Controller/Main/MainControllerDelegates.swift
@@ -79,11 +79,11 @@ extension MainController: LPTBarButtonItemDelegate, TableOfContentsDelegate, Zim
}
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
- searchController?.startSearch(searchText, delayed: true)
+ ControllerRetainer.shared.search.startSearch(searchText, delayed: true)
}
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
- searchController?.searchResultTBVC?.selectFirstResultIfPossible()
+ ControllerRetainer.shared.search.searchResultTBVC?.selectFirstResultIfPossible()
}
// MARK: - UIPopoverPresentationControllerDelegate
diff --git a/Kiwix-iOS/Controller/Main/MainControllerShowHide.swift b/Kiwix-iOS/Controller/Main/MainControllerShowHide.swift
index b28a6319..e1f816ac 100644
--- a/Kiwix-iOS/Controller/Main/MainControllerShowHide.swift
+++ b/Kiwix-iOS/Controller/Main/MainControllerShowHide.swift
@@ -51,36 +51,34 @@ extension MainController {
}
private func showSearchResultController(animated animated: Bool) {
- guard let searchController = searchController ?? UIStoryboard.search.instantiateInitialViewController() as? SearchController else {return}
- self.searchController = searchController
- guard !childViewControllers.contains(searchController) else {return}
- addChildViewController(searchController)
- searchController.view.translatesAutoresizingMaskIntoConstraints = false
- view.addSubview(searchController.view)
+ let controller = ControllerRetainer.shared.search
+ guard !childViewControllers.contains(controller) else {return}
+ addChildViewController(controller)
+ controller.view.translatesAutoresizingMaskIntoConstraints = false
+ view.addSubview(controller.view)
- let views = ["SearchController": searchController.view]
+ let views = ["SearchController": controller.view]
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[SearchController]|", options: .AlignAllCenterY, metrics: nil, views: views))
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[SearchController]|", options: .AlignAllCenterX, metrics: nil, views: views))
if animated {
- searchController.view.alpha = 0.5
- searchController.view.transform = CGAffineTransformMakeScale(0.94, 0.94)
+ controller.view.alpha = 0.5
+ controller.view.transform = CGAffineTransformMakeScale(0.94, 0.94)
UIView.animateWithDuration(0.15, delay: 0.0, options: .CurveEaseOut, animations: { () -> Void in
- searchController.view.alpha = 1.0
- searchController.view.transform = CGAffineTransformIdentity
- }) { (completed) -> Void in
- searchController.didMoveToParentViewController(self)
- }
+ controller.view.alpha = 1.0
+ controller.view.transform = CGAffineTransformIdentity
+ }, completion: nil)
} else {
- searchController.view.alpha = 1.0
- searchController.view.transform = CGAffineTransformIdentity
- searchController.didMoveToParentViewController(self)
+ controller.view.alpha = 1.0
+ controller.view.transform = CGAffineTransformIdentity
}
+ controller.didMoveToParentViewController(self)
}
private func hideSearchResultController(animated animated: Bool) {
guard let searchController = childViewControllers.flatMap({$0 as? SearchController}).first else {return}
let completion = { (complete: Bool) -> Void in
+ guard complete else {return}
searchController.view.removeFromSuperview()
searchController.removeFromParentViewController()
guard self.traitCollection.horizontalSizeClass == .Compact else {return}
@@ -195,4 +193,4 @@ extension MainController {
GlobalOperationQueue.sharedInstance.addOperation(operation)
Preference.hasShowGetStartedAlert = true
}
-}
\ No newline at end of file
+}
diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist
index 1d311050..b7f52eb7 100644
--- a/Kiwix-iOS/Info.plist
+++ b/Kiwix-iOS/Info.plist
@@ -49,7 +49,7 @@
CFBundleVersion
- 1.7.1666
+ 1.7.1675
ITSAppUsesNonExemptEncryption
LSRequiresIPhoneOS
diff --git a/Kiwix-iOS/Storyboard/Search.storyboard b/Kiwix-iOS/Storyboard/Search.storyboard
index 27fad504..6742b0cf 100644
--- a/Kiwix-iOS/Storyboard/Search.storyboard
+++ b/Kiwix-iOS/Storyboard/Search.storyboard
@@ -2,7 +2,6 @@
-
@@ -23,8 +22,7 @@
-
-
+
@@ -44,8 +42,7 @@
-
-
+
@@ -252,113 +249,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -369,17 +260,17 @@
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -597,17 +450,17 @@
-
+
-
+
-
+
@@ -658,10 +511,10 @@
-
+
-
+
@@ -762,129 +615,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -894,7 +624,7 @@
-
+
@@ -907,7 +637,7 @@
-
+
@@ -953,8 +683,5 @@
-
-
-
diff --git a/Kiwix-iOSWidgets/Bookmarks/Info.plist b/Kiwix-iOSWidgets/Bookmarks/Info.plist
index 5957841a..053e9bad 100644
--- a/Kiwix-iOSWidgets/Bookmarks/Info.plist
+++ b/Kiwix-iOSWidgets/Bookmarks/Info.plist
@@ -21,7 +21,7 @@
CFBundleSignature
????
CFBundleVersion
- 1.7.2122
+ 1.7.2136
NSExtension
NSExtensionMainStoryboard
diff --git a/Kiwix/libkiwix/build/build-xz.sh b/Kiwix/libkiwix/build/build-xz.sh
index b690c890..957e2511 100755
--- a/Kiwix/libkiwix/build/build-xz.sh
+++ b/Kiwix/libkiwix/build/build-xz.sh
@@ -1,15 +1,15 @@
#!/bin/bash
ROOT=$(pwd)
-XZ_FOLDER_NAME='xz-5.2.2'
+# XZ_FOLDER_NAME='xz-5.2.2'
########################## XZ ##########################
-curl -O 'http://tukaani.org/xz/xz-5.2.2.tar.gz'
-tar -xvzf xz-5.2.2.tar.gz
+# curl -O 'http://tukaani.org/xz/xz-5.2.2.tar.gz'
+# tar -xvzf xz-5.2.2.tar.gz
-XZPATH=$ROOT/$XZ_FOLDER_NAME
-cd $XZPATH
+# XZPATH=$ROOT/$XZ_FOLDER_NAME
+# cd $XZPATH
-./autogen.sh
+# ./autogen.sh
build_iOS()
{
@@ -22,15 +22,24 @@ build_iOS()
SDKROOT="$(xcodebuild -version -sdk iphoneos | grep -E '^Path' | sed 's/Path: //')"
fi
- export CC="$(xcrun -sdk iphoneos -find clang)"
+ export MACOSX_DEPLOYMENT_TARGET="10.4"
+
+ export CC="$(xcrun -find clang)"
export CFLAGS="-fembed-bitcode -isysroot $SDKROOT -arch ${ARCH} -miphoneos-version-min=9.0"
+
+ export CPP="$CC -E"
+ export CPPFLAGS="$CFLAGS"
+
+ export CXX="$(xcrun -find clang++)"
+ export CXXFLAGS="$CFLAGS -stdlib=libc++ -std=c++11"
+
export LDFLAGS="-arch ${ARCH} -isysroot $SDKROOT"
if [ $ARCH == "i386" ] || [ $ARCH == "x86_64" ];
then
- ./configure --prefix=$XZPATH/build/iOS/$ARCH --host=i686-apple-darwin11 --disable-static --enable-shared
+ ./configure --prefix=$(pwd)/build/iOS/$ARCH --host=i686-apple-darwin11 --enable-static --enable-shared
else
- ./configure --prefix=$XZPATH/build/iOS/$ARCH --host=arm-apple-darwin --disable-static --enable-shared
+ ./configure --prefix=$(pwd)/build/iOS/$ARCH --host=arm-apple-darwin --enable-static --enable-shared
fi
make && make install && make clean
@@ -51,6 +60,28 @@ build_OSX()
make && make install && make clean
}
+distribute_iOS() {
+ iOSBUILDDir=$(pwd)/build/iOS
+ cd $iOSBUILDDir
+ mkdir -p universal/lib
+
+ cd armv7/lib
+ for file in *.a
+ do
+ cd $iOSBUILDDir
+ lipo -create armv7/lib/$file armv7s/lib/$file arm64/lib/$file x86_64/lib/$file i386/lib/$file -output universal/lib/$file
+ done
+
+ cd armv7/lib
+ for file in *.dylib
+ do
+ cd $iOSBUILDDir
+ lipo -create armv7/lib/$file armv7s/lib/$file arm64/lib/$file x86_64/lib/$file i386/lib/$file -output universal/lib/$file
+ done
+
+ cp -r armv7/include universal
+}
+
distribute() {
cd $XZPATH/build
@@ -93,9 +124,10 @@ build_iOS x86_64
build_iOS armv7
build_iOS armv7s
build_iOS arm64
+# distribute_iOS
-build_OSX i386
-build_OSX x86_64
+# build_OSX i386
+# build_OSX x86_64
-distribute
+# distribute
diff --git a/Kiwix/libkiwix/build/installname.sh b/Kiwix/libkiwix/build/installname.sh
index cf5049df..dcc60ed1 100755
--- a/Kiwix/libkiwix/build/installname.sh
+++ b/Kiwix/libkiwix/build/installname.sh
@@ -9,6 +9,6 @@ do
do
install_name_tool -change $dependency @rpath/$dependency $file
done
- install_name_tool -change /usr/lib/liblzma.5.dylib @rpath/liblzma.5.dylib $file
+ install_name_tool -change /Volumes/Data/Developer/build/xz-5.2.2/build/iOS/x86_64/lib/liblzma.5.dylib @rpath/liblzma.5.dylib liblzma.5.dylib
otool -L $file
done
\ No newline at end of file