From 74ce9ab18b20336722b28273628552dbb519b42d Mon Sep 17 00:00:00 2001 From: ylzheng Date: Fri, 30 Oct 2015 21:43:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=A9=E5=B1=95=E5=BA=94?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- librx.xcodeproj/project.pbxproj | 146 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 10 ++ librx/Base.lproj/LaunchScreen.xib | 6 + .../AppIcon-2.appiconset/Contents.json | 42 +++++ .../AppIcon-2.appiconset/Icon-40@2x.png | Bin 0 -> 7051 bytes .../AppIcon-2.appiconset/Icon-60@2x.png | Bin 0 -> 8163 bytes .../AppIcon-2.appiconset/Icon-Small@2x.png | Bin 0 -> 5660 bytes .../AppIcon-2.appiconset/Icon-Small@3x.png | Bin 0 -> 6771 bytes .../BrandAsset.launchimage/Contents.json | 21 +++ librx/StorysTableViewController.swift | 2 +- .../Base.lproj/MainInterface.storyboard | 26 ++++ libxShareExt/Info.plist | 43 ++++++ libxShareExt/LibrExtensionJavaScript.js | 9 ++ libxShareExt/ShareViewController.swift | 33 ++++ 14 files changed, 337 insertions(+), 1 deletion(-) create mode 100644 librx/Images.xcassets/AppIcon-2.appiconset/Contents.json create mode 100644 librx/Images.xcassets/AppIcon-2.appiconset/Icon-40@2x.png create mode 100644 librx/Images.xcassets/AppIcon-2.appiconset/Icon-60@2x.png create mode 100644 librx/Images.xcassets/AppIcon-2.appiconset/Icon-Small@2x.png create mode 100644 librx/Images.xcassets/AppIcon-2.appiconset/Icon-Small@3x.png create mode 100644 librx/Images.xcassets/BrandAsset.launchimage/Contents.json create mode 100644 libxShareExt/Base.lproj/MainInterface.storyboard create mode 100644 libxShareExt/Info.plist create mode 100644 libxShareExt/LibrExtensionJavaScript.js create mode 100644 libxShareExt/ShareViewController.swift diff --git a/librx.xcodeproj/project.pbxproj b/librx.xcodeproj/project.pbxproj index 4b2ff48..6b26b36 100644 --- a/librx.xcodeproj/project.pbxproj +++ b/librx.xcodeproj/project.pbxproj @@ -43,6 +43,11 @@ 45681F2E1B7F781E00D1E096 /* Replyable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45681F2D1B7F781E00D1E096 /* Replyable.swift */; }; 45681F301B7F79AF00D1E096 /* Shareable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45681F2F1B7F79AF00D1E096 /* Shareable.swift */; }; 45681F341B7F7C8A00D1E096 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45681F331B7F7C8A00D1E096 /* User.swift */; }; + 456A68191BE39C76001B3096 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 456A68181BE39C76001B3096 /* ShareViewController.swift */; }; + 456A681C1BE39C76001B3096 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 456A681A1BE39C76001B3096 /* MainInterface.storyboard */; }; + 456A68201BE39C76001B3096 /* libxShareExt.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 456A68161BE39C76001B3096 /* libxShareExt.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + 456A68251BE3A853001B3096 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 45B11CD71B6FD12A008D6049 /* Images.xcassets */; }; + 456A68271BE3A893001B3096 /* LibrExtensionJavaScript.js in Resources */ = {isa = PBXBuildFile; fileRef = 456A68261BE3A893001B3096 /* LibrExtensionJavaScript.js */; }; 456CEF471BAC4F3E00E090BA /* Bootstrap.css in Resources */ = {isa = PBXBuildFile; fileRef = 456CEF461BAC4F3E00E090BA /* Bootstrap.css */; }; 456F1A171B6FD3D6007F9ACF /* MenuTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 456F1A161B6FD3D6007F9ACF /* MenuTableViewController.swift */; }; 456F1A1E1B6FD4D0007F9ACF /* MenuTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 456F1A1D1B6FD4D0007F9ACF /* MenuTableViewCell.swift */; }; @@ -97,9 +102,27 @@ remoteGlobalIDString = 452DC1121B6287E600847691; remoteInfo = librx; }; + 456A681E1BE39C76001B3096 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 452DC10B1B6287E600847691 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 456A68151BE39C76001B3096; + remoteInfo = libxShareExt; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + 456A68241BE39C77001B3096 /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + 456A68201BE39C76001B3096 /* libxShareExt.appex in Embed App Extensions */, + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; 458B42A41B8A064B0050FEEC /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -168,6 +191,11 @@ 45681F2D1B7F781E00D1E096 /* Replyable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Replyable.swift; sourceTree = ""; }; 45681F2F1B7F79AF00D1E096 /* Shareable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Shareable.swift; sourceTree = ""; }; 45681F331B7F7C8A00D1E096 /* User.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = ""; }; + 456A68161BE39C76001B3096 /* libxShareExt.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = libxShareExt.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + 456A68181BE39C76001B3096 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; + 456A681B1BE39C76001B3096 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; + 456A681D1BE39C76001B3096 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 456A68261BE3A893001B3096 /* LibrExtensionJavaScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = LibrExtensionJavaScript.js; sourceTree = ""; }; 456CEF461BAC4F3E00E090BA /* Bootstrap.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = Bootstrap.css; sourceTree = ""; }; 456F1A161B6FD3D6007F9ACF /* MenuTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MenuTableViewController.swift; sourceTree = ""; }; 456F1A1D1B6FD4D0007F9ACF /* MenuTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MenuTableViewCell.swift; sourceTree = ""; }; @@ -269,6 +297,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 456A68131BE39C76001B3096 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -278,6 +313,7 @@ 453BAB3A1B8B559800BA7DF7 /* frameworks */, 452DC1151B6287E600847691 /* librx */, 452DC12E1B6287E600847691 /* librxTests */, + 456A68171BE39C76001B3096 /* libxShareExt */, 452DC1141B6287E600847691 /* Products */, D6ECB170457345CE1B131906 /* Pods */, C80B41AD075A63EC90F9F7B5 /* Frameworks */, @@ -289,6 +325,7 @@ children = ( 452DC1131B6287E600847691 /* librx.app */, 452DC12B1B6287E600847691 /* librxTests.xctest */, + 456A68161BE39C76001B3096 /* libxShareExt.appex */, ); name = Products; sourceTree = ""; @@ -397,6 +434,17 @@ path = SinaSSO; sourceTree = ""; }; + 456A68171BE39C76001B3096 /* libxShareExt */ = { + isa = PBXGroup; + children = ( + 456A68181BE39C76001B3096 /* ShareViewController.swift */, + 456A681A1BE39C76001B3096 /* MainInterface.storyboard */, + 456A681D1BE39C76001B3096 /* Info.plist */, + 456A68261BE3A893001B3096 /* LibrExtensionJavaScript.js */, + ); + path = libxShareExt; + sourceTree = ""; + }; 456CEF451BAC4F0E00E090BA /* asserts */ = { isa = PBXGroup; children = ( @@ -599,10 +647,12 @@ 458B42A41B8A064B0050FEEC /* Embed Frameworks */, 5565530DF81768CE3443FED0 /* Embed Pods Frameworks */, 2EBDCAED66950FBEDE778D6C /* Copy Pods Resources */, + 456A68241BE39C77001B3096 /* Embed App Extensions */, ); buildRules = ( ); dependencies = ( + 456A681F1BE39C76001B3096 /* PBXTargetDependency */, ); name = librx; productName = librx; @@ -627,6 +677,23 @@ productReference = 452DC12B1B6287E600847691 /* librxTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + 456A68151BE39C76001B3096 /* libxShareExt */ = { + isa = PBXNativeTarget; + buildConfigurationList = 456A68231BE39C77001B3096 /* Build configuration list for PBXNativeTarget "libxShareExt" */; + buildPhases = ( + 456A68121BE39C76001B3096 /* Sources */, + 456A68131BE39C76001B3096 /* Frameworks */, + 456A68141BE39C76001B3096 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = libxShareExt; + productName = libxShareExt; + productReference = 456A68161BE39C76001B3096 /* libxShareExt.appex */; + productType = "com.apple.product-type.app-extension"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -645,6 +712,10 @@ CreatedOnToolsVersion = 6.3.1; TestTargetID = 452DC1121B6287E600847691; }; + 456A68151BE39C76001B3096 = { + CreatedOnToolsVersion = 7.1; + DevelopmentTeam = 25X8QKQ2XY; + }; }; }; buildConfigurationList = 452DC10E1B6287E600847691 /* Build configuration list for PBXProject "librx" */; @@ -663,6 +734,7 @@ targets = ( 452DC1121B6287E600847691 /* librx */, 452DC12A1B6287E600847691 /* librxTests */, + 456A68151BE39C76001B3096 /* libxShareExt */, ); }; /* End PBXProject section */ @@ -698,6 +770,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 456A68141BE39C76001B3096 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 456A68251BE3A853001B3096 /* Images.xcassets in Resources */, + 456A681C1BE39C76001B3096 /* MainInterface.storyboard in Resources */, + 456A68271BE3A893001B3096 /* LibrExtensionJavaScript.js in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -804,6 +886,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 456A68121BE39C76001B3096 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 456A68191BE39C76001B3096 /* ShareViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -812,6 +902,11 @@ target = 452DC1121B6287E600847691 /* librx */; targetProxy = 452DC12C1B6287E600847691 /* PBXContainerItemProxy */; }; + 456A681F1BE39C76001B3096 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 456A68151BE39C76001B3096 /* libxShareExt */; + targetProxy = 456A681E1BE39C76001B3096 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -831,6 +926,14 @@ name = LaunchScreen.xib; sourceTree = ""; }; + 456A681A1BE39C76001B3096 /* MainInterface.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 456A681B1BE39C76001B3096 /* Base */, + ); + name = MainInterface.storyboard; + sourceTree = ""; + }; 45EA2FC61BCA7A19004E6960 /* UMSocialLocalizable.strings */ = { isa = PBXVariantGroup; children = ( @@ -938,6 +1041,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -971,6 +1075,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -1033,6 +1138,39 @@ }; name = Release; }; + 456A68211BE39C77001B3096 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = BrandAsset; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEBUG_INFORMATION_FORMAT = dwarf; + INFOPLIST_FILE = libxShareExt/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.librme.libr.libxShareExt; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 456A68221BE39C77001B3096 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = BrandAsset; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + INFOPLIST_FILE = libxShareExt/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = com.librme.libr.libxShareExt; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1063,6 +1201,14 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 456A68231BE39C77001B3096 /* Build configuration list for PBXNativeTarget "libxShareExt" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 456A68211BE39C77001B3096 /* Debug */, + 456A68221BE39C77001B3096 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ diff --git a/librx.xcodeproj/xcuserdata/ylzheng.xcuserdatad/xcschemes/xcschememanagement.plist b/librx.xcodeproj/xcuserdata/ylzheng.xcuserdatad/xcschemes/xcschememanagement.plist index 48fab34..529d25f 100644 --- a/librx.xcodeproj/xcuserdata/ylzheng.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/librx.xcodeproj/xcuserdata/ylzheng.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,6 +9,11 @@ orderHint 0 + libxShareExt.xcscheme + + orderHint + 12 + SuppressBuildableAutocreation @@ -22,6 +27,11 @@ primary + 456A68151BE39C76001B3096 + + primary + + diff --git a/librx/Base.lproj/LaunchScreen.xib b/librx/Base.lproj/LaunchScreen.xib index f7250d6..0d4c6c4 100644 --- a/librx/Base.lproj/LaunchScreen.xib +++ b/librx/Base.lproj/LaunchScreen.xib @@ -31,6 +31,9 @@ + + + @@ -40,6 +43,8 @@ + + @@ -49,5 +54,6 @@ + diff --git a/librx/Images.xcassets/AppIcon-2.appiconset/Contents.json b/librx/Images.xcassets/AppIcon-2.appiconset/Contents.json new file mode 100644 index 0000000..24e7ad1 --- /dev/null +++ b/librx/Images.xcassets/AppIcon-2.appiconset/Contents.json @@ -0,0 +1,42 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-40@2x.png", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-60@2x.png", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-Small@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-Small@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/librx/Images.xcassets/AppIcon-2.appiconset/Icon-40@2x.png b/librx/Images.xcassets/AppIcon-2.appiconset/Icon-40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..613658b157c301b74a10b278f6dbe82f4c181936 GIT binary patch literal 7051 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%0D{E`F^Aux-^0w*LxEY#gZ`{&-)7h(-DX?(ROo@Mk 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 literal 0 HcmV?d00001 diff --git a/librx/Images.xcassets/AppIcon-2.appiconset/Icon-60@2x.png b/librx/Images.xcassets/AppIcon-2.appiconset/Icon-60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a89e9c3784b6aa6daac38428a238b9c8486a2ba0 GIT binary patch literal 8163 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 JPDHLkV1oCc^P>O& literal 0 HcmV?d00001 diff --git a/librx/Images.xcassets/AppIcon-2.appiconset/Icon-Small@2x.png b/librx/Images.xcassets/AppIcon-2.appiconset/Icon-Small@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d00d07a2727a7458afbf56c1a19af2d3eaa39c GIT binary patch literal 5660 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 Vz`0?6{gVIy002ovPDHLkV1oJ#Asqk! literal 0 HcmV?d00001 diff --git a/librx/Images.xcassets/BrandAsset.launchimage/Contents.json b/librx/Images.xcassets/BrandAsset.launchimage/Contents.json new file mode 100644 index 0000000..e37b649 --- /dev/null +++ b/librx/Images.xcassets/BrandAsset.launchimage/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "orientation" : "portrait", + "idiom" : "iphone", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "minimum-system-version" : "7.0", + "subtype" : "retina4", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/librx/StorysTableViewController.swift b/librx/StorysTableViewController.swift index a5a29db..83e1875 100644 --- a/librx/StorysTableViewController.swift +++ b/librx/StorysTableViewController.swift @@ -210,7 +210,7 @@ class StorysTableViewController: UITableViewController { print("refresh Content from default api") loadPosts() - timer = NSTimer.scheduledTimerWithTimeInterval(4.0, target: self, selector: "endOfWork", userInfo: nil, repeats: true) + timer = NSTimer.scheduledTimerWithTimeInterval(3.0, target: self, selector: "endOfWork", userInfo: nil, repeats: true) } func loadMore(sender:UIButton) { diff --git a/libxShareExt/Base.lproj/MainInterface.storyboard b/libxShareExt/Base.lproj/MainInterface.storyboard new file mode 100644 index 0000000..13790df --- /dev/null +++ b/libxShareExt/Base.lproj/MainInterface.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libxShareExt/Info.plist b/libxShareExt/Info.plist new file mode 100644 index 0000000..965f458 --- /dev/null +++ b/libxShareExt/Info.plist @@ -0,0 +1,43 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Librme + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIcons~ipad + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + XPC! + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSExtension + + NSExtensionAttributes + + NSExtensionActivationRule + + NSExtensionActivationSupportsWebPageWithMaxCount + 1 + + + NSExtensionMainStoryboard + MainInterface + NSExtensionPointIdentifier + com.apple.share-services + + + diff --git a/libxShareExt/LibrExtensionJavaScript.js b/libxShareExt/LibrExtensionJavaScript.js new file mode 100644 index 0000000..cc60621 --- /dev/null +++ b/libxShareExt/LibrExtensionJavaScript.js @@ -0,0 +1,9 @@ +var LibrmeExtension = function() {}; + +LibrmeExtension.prototype = { +run: function(arguments) { + arguments.completionFunction({"baseURI" : document.baseURI}); +} +} + +var ExtensionPreprocessingJS = new LibrmeExtension; \ No newline at end of file diff --git a/libxShareExt/ShareViewController.swift b/libxShareExt/ShareViewController.swift new file mode 100644 index 0000000..f1c21ea --- /dev/null +++ b/libxShareExt/ShareViewController.swift @@ -0,0 +1,33 @@ +// +// ShareViewController.swift +// libxShareExt +// +// Created by Yunlong Zheng on 15/10/30. +// Copyright © 2015年 librx. All rights reserved. +// + +import UIKit +import Social + +class ShareViewController: SLComposeServiceViewController { + + override func isContentValid() -> Bool { + // Do validation of contentText and/or NSExtensionContext attachments here + return true + } + + override func didSelectPost() { + // This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments. + + // Inform the host that we're done, so it un-blocks its UI. Note: Alternatively you could call super's -didSelectPost, which will similarly complete the extension context. + print("didSelectPost: \(contentText)") + + self.extensionContext!.completeRequestReturningItems([], completionHandler: nil) + } + + override func configurationItems() -> [AnyObject]! { + // To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here. + return [] + } + +}