diff --git a/App/en.lproj/BOViewController.xib b/App/Base.lproj/BOViewController.xib similarity index 100% rename from App/en.lproj/BOViewController.xib rename to App/Base.lproj/BOViewController.xib diff --git a/App/MarkdownParser-Info.plist b/App/MarkdownParser-Info.plist index cf0fe89..5860c3f 100644 --- a/App/MarkdownParser-Info.plist +++ b/App/MarkdownParser-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - dk.boedewadt.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/MarkdownParser.xcodeproj/project.pbxproj b/MarkdownParser.xcodeproj/project.pbxproj index 62dadd9..fae199a 100644 --- a/MarkdownParser.xcodeproj/project.pbxproj +++ b/MarkdownParser.xcodeproj/project.pbxproj @@ -7,6 +7,25 @@ objects = { /* Begin PBXBuildFile section */ + 3DE3BAA01658FF2E00CE504F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DE3BA9E1658FF2E00CE504F /* InfoPlist.strings */; }; + 3DE3BAA91658FF9000CE504F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DE3BAA81658FF9000CE504F /* Foundation.framework */; }; + 3DE3BAAA1658FF9500CE504F /* BOMarkdownParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EB17E9C161F187D00A27750 /* BOMarkdownParser.m */; }; + 3DE3BAAB1658FF9800CE504F /* NSAttributedString+Markdown.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EB17EBE161F1A8700A27750 /* NSAttributedString+Markdown.m */; }; + 3DE3BAAC1658FF9B00CE504F /* array.c in Sources */ = {isa = PBXBuildFile; fileRef = 3EB17EB1161F199900A27750 /* array.c */; }; + 3DE3BAAD1658FF9D00CE504F /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 3EB17EB2161F199900A27750 /* buffer.c */; }; + 3DE3BAAE1658FF9F00CE504F /* markdown.c in Sources */ = {isa = PBXBuildFile; fileRef = 3EB17EB3161F199900A27750 /* markdown.c */; }; + 3DE3BABA165901AC00CE504F /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DE3BAB9165901AC00CE504F /* AppKit.framework */; }; + 3DE3BABE165903B500CE504F /* NSFont+UIKitAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE3BABC165903B500CE504F /* NSFont+UIKitAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3DE3BABF165903B500CE504F /* NSFont+UIKitAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DE3BABD165903B500CE504F /* NSFont+UIKitAdditions.m */; }; + 3DE3BACE1659087100CE504F /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EB17E64161F17B200A27750 /* SenTestingKit.framework */; }; + 3DE3BAD61659087100CE504F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3DE3BAD41659087100CE504F /* InfoPlist.strings */; }; + 3DE3BAE0165908D800CE504F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DE3BAA81658FF9000CE504F /* Foundation.framework */; }; + 3DE3BAE1165908DD00CE504F /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DE3BAB9165901AC00CE504F /* AppKit.framework */; }; + 3DE3BAE2165908E900CE504F /* MarkdownParserTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EB17E71161F17B200A27750 /* MarkdownParserTests.m */; }; + 3DE3BB0A1659097400CE504F /* BOMarkdownParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EB17E9B161F187D00A27750 /* BOMarkdownParser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3DE3BB0B16590AEA00CE504F /* OS-X-ObjC-Compatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE3BA881658FADD00CE504F /* OS-X-ObjC-Compatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3DE3BB0D16590C4600CE504F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DE3BB0C16590C4600CE504F /* Cocoa.framework */; }; + 3DE3BB0E16590C7E00CE504F /* MarkdownParserMac.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DE3BA941658FF2E00CE504F /* MarkdownParserMac.framework */; }; 3EB17E41161F17B100A27750 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EB17E40161F17B100A27750 /* UIKit.framework */; }; 3EB17E43161F17B100A27750 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EB17E42161F17B100A27750 /* Foundation.framework */; }; 3EB17E45161F17B100A27750 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EB17E44161F17B100A27750 /* CoreGraphics.framework */; }; @@ -33,6 +52,13 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 3DE3BADE165908C000CE504F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3EB17E33161F17B100A27750 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3DE3BA931658FF2E00CE504F; + remoteInfo = MarkdownParserMac; + }; 3E575BDB161F29FF00286500 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 3EB17E33161F17B100A27750 /* Project object */; @@ -62,6 +88,24 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 3D9E54F12715962C003DE4C5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = ../Base.lproj/BOViewController.xib; sourceTree = ""; }; + 3DE3BA881658FADD00CE504F /* OS-X-ObjC-Compatibility.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "OS-X-ObjC-Compatibility.h"; path = "Source/OS-X-ObjC-Compatibility.h"; sourceTree = SOURCE_ROOT; }; + 3DE3BA941658FF2E00CE504F /* MarkdownParserMac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MarkdownParserMac.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3DE3BA981658FF2E00CE504F /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + 3DE3BA991658FF2E00CE504F /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 3DE3BA9A1658FF2E00CE504F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 3DE3BA9D1658FF2E00CE504F /* MarkdownParserMac-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MarkdownParserMac-Info.plist"; sourceTree = ""; }; + 3DE3BA9F1658FF2E00CE504F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 3DE3BAA11658FF2E00CE504F /* MarkdownParserMac-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MarkdownParserMac-Prefix.pch"; sourceTree = ""; }; + 3DE3BAA81658FF9000CE504F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 3DE3BAB9165901AC00CE504F /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; + 3DE3BABC165903B500CE504F /* NSFont+UIKitAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSFont+UIKitAdditions.h"; sourceTree = ""; }; + 3DE3BABD165903B500CE504F /* NSFont+UIKitAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSFont+UIKitAdditions.m"; sourceTree = ""; }; + 3DE3BACD1659087100CE504F /* MarkdownParserMacTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MarkdownParserMacTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3DE3BAD31659087100CE504F /* MarkdownParserMacTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MarkdownParserMacTests-Info.plist"; sourceTree = ""; }; + 3DE3BAD51659087100CE504F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 3DE3BADA1659087100CE504F /* MarkdownParserMacTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MarkdownParserMacTests-Prefix.pch"; sourceTree = ""; }; + 3DE3BB0C16590C4600CE504F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; 3E575BDD161F30EF00286500 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = README.md; sourceTree = ""; }; 3EB17E3C161F17B100A27750 /* MarkdownParserApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MarkdownParserApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 3EB17E40161F17B100A27750 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; @@ -71,7 +115,7 @@ 3EB17E64161F17B200A27750 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; 3EB17E6C161F17B200A27750 /* MarkdownParserTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MarkdownParserTests-Info.plist"; sourceTree = ""; }; 3EB17E6E161F17B200A27750 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 3EB17E71161F17B200A27750 /* MarkdownParserTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MarkdownParserTests.m; sourceTree = ""; }; + 3EB17E71161F17B200A27750 /* MarkdownParserTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MarkdownParserTests.m; sourceTree = ""; usesTabs = 0; }; 3EB17E82161F184D00A27750 /* BOAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BOAppDelegate.h; sourceTree = ""; }; 3EB17E83161F184D00A27750 /* BOAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BOAppDelegate.m; sourceTree = ""; }; 3EB17E84161F184D00A27750 /* BOViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BOViewController.h; sourceTree = ""; }; @@ -79,13 +123,12 @@ 3EB17E86161F184D00A27750 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 3EB17E87161F184D00A27750 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; 3EB17E88161F184D00A27750 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; - 3EB17E8B161F184D00A27750 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = BOViewController.xib; sourceTree = ""; }; 3EB17E8D161F184D00A27750 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = ""; }; 3EB17E8E161F184D00A27750 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 3EB17E8F161F184D00A27750 /* MarkdownParser-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "MarkdownParser-Info.plist"; sourceTree = ""; }; 3EB17E9A161F187D00A27750 /* MarkdownParser-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "MarkdownParser-Prefix.pch"; path = "Source/MarkdownParser-Prefix.pch"; sourceTree = SOURCE_ROOT; }; - 3EB17E9B161F187D00A27750 /* BOMarkdownParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BOMarkdownParser.h; path = Source/BOMarkdownParser.h; sourceTree = SOURCE_ROOT; }; - 3EB17E9C161F187D00A27750 /* BOMarkdownParser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = BOMarkdownParser.m; path = Source/BOMarkdownParser.m; sourceTree = SOURCE_ROOT; }; + 3EB17E9B161F187D00A27750 /* BOMarkdownParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BOMarkdownParser.h; path = Source/BOMarkdownParser.h; sourceTree = SOURCE_ROOT; usesTabs = 0; }; + 3EB17E9C161F187D00A27750 /* BOMarkdownParser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = BOMarkdownParser.m; path = Source/BOMarkdownParser.m; sourceTree = SOURCE_ROOT; usesTabs = 0; }; 3EB17EA1161F189F00A27750 /* libMarkdownParser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMarkdownParser.a; sourceTree = BUILT_PRODUCTS_DIR; }; 3EB17EB1161F199900A27750 /* array.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = array.c; sourceTree = ""; }; 3EB17EB2161F199900A27750 /* buffer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = buffer.c; sourceTree = ""; }; @@ -93,13 +136,34 @@ 3EB17EBA161F19B100A27750 /* array.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = array.h; sourceTree = ""; }; 3EB17EBB161F19B100A27750 /* buffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = ""; }; 3EB17EBC161F19B100A27750 /* markdown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = markdown.h; sourceTree = ""; }; - 3EB17EBD161F1A8700A27750 /* NSAttributedString+Markdown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+Markdown.h"; path = "Source/NSAttributedString+Markdown.h"; sourceTree = SOURCE_ROOT; }; - 3EB17EBE161F1A8700A27750 /* NSAttributedString+Markdown.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+Markdown.m"; path = "Source/NSAttributedString+Markdown.m"; sourceTree = SOURCE_ROOT; }; + 3EB17EBD161F1A8700A27750 /* NSAttributedString+Markdown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSAttributedString+Markdown.h"; path = "Source/NSAttributedString+Markdown.h"; sourceTree = SOURCE_ROOT; usesTabs = 0; }; + 3EB17EBE161F1A8700A27750 /* NSAttributedString+Markdown.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSAttributedString+Markdown.m"; path = "Source/NSAttributedString+Markdown.m"; sourceTree = SOURCE_ROOT; usesTabs = 0; }; 3EC9321816629BB300DDB33D /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 3EC9321916629BD600DDB33D /* LICENSE.md */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE.md; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 3DE3BA901658FF2E00CE504F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BABA165901AC00CE504F /* AppKit.framework in Frameworks */, + 3DE3BAA91658FF9000CE504F /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3DE3BAC91659087100CE504F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BB0E16590C7E00CE504F /* MarkdownParserMac.framework in Frameworks */, + 3DE3BB0D16590C4600CE504F /* Cocoa.framework in Frameworks */, + 3DE3BAE1165908DD00CE504F /* AppKit.framework in Frameworks */, + 3DE3BAE0165908D800CE504F /* Foundation.framework in Frameworks */, + 3DE3BACE1659087100CE504F /* SenTestingKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3EB17E39161F17B100A27750 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -132,6 +196,65 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 3DE3BA971658FF2E00CE504F /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 3DE3BA981658FF2E00CE504F /* AppKit.framework */, + 3DE3BA991658FF2E00CE504F /* CoreData.framework */, + 3DE3BA9A1658FF2E00CE504F /* Foundation.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 3DE3BA9B1658FF2E00CE504F /* MarkdownParserMac */ = { + isa = PBXGroup; + children = ( + 3DE3BA881658FADD00CE504F /* OS-X-ObjC-Compatibility.h */, + 3DE3BABC165903B500CE504F /* NSFont+UIKitAdditions.h */, + 3DE3BABD165903B500CE504F /* NSFont+UIKitAdditions.m */, + 3DE3BA9C1658FF2E00CE504F /* Supporting Files */, + ); + path = MarkdownParserMac; + sourceTree = ""; + }; + 3DE3BA9C1658FF2E00CE504F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3DE3BA9D1658FF2E00CE504F /* MarkdownParserMac-Info.plist */, + 3DE3BA9E1658FF2E00CE504F /* InfoPlist.strings */, + 3DE3BAA11658FF2E00CE504F /* MarkdownParserMac-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 3DE3BABB165901C100CE504F /* Mac */ = { + isa = PBXGroup; + children = ( + 3DE3BAB9165901AC00CE504F /* AppKit.framework */, + 3DE3BB0C16590C4600CE504F /* Cocoa.framework */, + 3DE3BAA81658FF9000CE504F /* Foundation.framework */, + ); + name = Mac; + sourceTree = ""; + }; + 3DE3BAD11659087100CE504F /* MarkdownParserMacTests */ = { + isa = PBXGroup; + children = ( + 3DE3BAD21659087100CE504F /* Supporting Files */, + ); + path = MarkdownParserMacTests; + sourceTree = ""; + }; + 3DE3BAD21659087100CE504F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3DE3BAD31659087100CE504F /* MarkdownParserMacTests-Info.plist */, + 3DE3BAD41659087100CE504F /* InfoPlist.strings */, + 3DE3BADA1659087100CE504F /* MarkdownParserMacTests-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; 3EB17E31161F17B100A27750 = { isa = PBXGroup; children = ( @@ -141,6 +264,8 @@ 3EB17EB0161F197500A27750 /* libupskirt */, 3EB17E81161F183800A27750 /* App */, 3EB17E6A161F17B200A27750 /* Tests */, + 3DE3BA9B1658FF2E00CE504F /* MarkdownParserMac */, + 3DE3BAD11659087100CE504F /* MarkdownParserMacTests */, 3EB17E3F161F17B100A27750 /* Frameworks */, 3EB17E3D161F17B100A27750 /* Products */, ); @@ -152,6 +277,8 @@ 3EB17E3C161F17B100A27750 /* MarkdownParserApp.app */, 3EB17E63161F17B200A27750 /* MarkdownParserTests.octest */, 3EB17EA1161F189F00A27750 /* libMarkdownParser.a */, + 3DE3BA941658FF2E00CE504F /* MarkdownParserMac.framework */, + 3DE3BACD1659087100CE504F /* MarkdownParserMacTests.octest */, ); name = Products; sourceTree = ""; @@ -159,10 +286,12 @@ 3EB17E3F161F17B100A27750 /* Frameworks */ = { isa = PBXGroup; children = ( + 3DE3BABB165901C100CE504F /* Mac */, 3EB17E40161F17B100A27750 /* UIKit.framework */, 3EB17E42161F17B100A27750 /* Foundation.framework */, 3EB17E44161F17B100A27750 /* CoreGraphics.framework */, 3EB17E64161F17B200A27750 /* SenTestingKit.framework */, + 3DE3BA971658FF2E00CE504F /* Other Frameworks */, ); name = Frameworks; sourceTree = ""; @@ -241,7 +370,57 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 3DE3BA911658FF2E00CE504F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BB0A1659097400CE504F /* BOMarkdownParser.h in Headers */, + 3DE3BB0B16590AEA00CE504F /* OS-X-ObjC-Compatibility.h in Headers */, + 3DE3BABE165903B500CE504F /* NSFont+UIKitAdditions.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ + 3DE3BA931658FF2E00CE504F /* MarkdownParserMac */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3DE3BAA51658FF2E00CE504F /* Build configuration list for PBXNativeTarget "MarkdownParserMac" */; + buildPhases = ( + 3DE3BA8F1658FF2E00CE504F /* Sources */, + 3DE3BA901658FF2E00CE504F /* Frameworks */, + 3DE3BA911658FF2E00CE504F /* Headers */, + 3DE3BA921658FF2E00CE504F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MarkdownParserMac; + productName = MarkdownParserMac; + productReference = 3DE3BA941658FF2E00CE504F /* MarkdownParserMac.framework */; + productType = "com.apple.product-type.framework"; + }; + 3DE3BACC1659087100CE504F /* MarkdownParserMacTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3DE3BADB1659087100CE504F /* Build configuration list for PBXNativeTarget "MarkdownParserMacTests" */; + buildPhases = ( + 3DE3BAC81659087100CE504F /* Sources */, + 3DE3BAC91659087100CE504F /* Frameworks */, + 3DE3BACA1659087100CE504F /* Resources */, + 3DE3BACB1659087100CE504F /* ShellScript */, + ); + buildRules = ( + ); + dependencies = ( + 3DE3BADF165908C000CE504F /* PBXTargetDependency */, + ); + name = MarkdownParserMacTests; + productName = MarkdownParserMacTests; + productReference = 3DE3BACD1659087100CE504F /* MarkdownParserMacTests.octest */; + productType = "com.apple.product-type.bundle"; + }; 3EB17E3B161F17B100A27750 /* MarkdownParserApp */ = { isa = PBXNativeTarget; buildConfigurationList = 3EB17E75161F17B200A27750 /* Build configuration list for PBXNativeTarget "MarkdownParserApp" */; @@ -303,15 +482,16 @@ isa = PBXProject; attributes = { CLASSPREFIX = BO; - LastUpgradeCheck = 0450; + LastUpgradeCheck = 1240; ORGANIZATIONNAME = "Bödewadt"; }; buildConfigurationList = 3EB17E36161F17B100A27750 /* Build configuration list for PBXProject "MarkdownParser" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = 3EB17E31161F17B100A27750; productRefGroup = 3EB17E3D161F17B100A27750 /* Products */; @@ -321,11 +501,29 @@ 3EB17EA0161F189F00A27750 /* MarkdownParser */, 3EB17E62161F17B200A27750 /* MarkdownParserTests */, 3EB17E3B161F17B100A27750 /* MarkdownParserApp */, + 3DE3BA931658FF2E00CE504F /* MarkdownParserMac */, + 3DE3BACC1659087100CE504F /* MarkdownParserMacTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 3DE3BA921658FF2E00CE504F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BAA01658FF2E00CE504F /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3DE3BACA1659087100CE504F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BAD61659087100CE504F /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3EB17E3A161F17B100A27750 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -349,6 +547,19 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 3DE3BACB1659087100CE504F /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; + }; 3EB17E61161F17B200A27750 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -365,6 +576,27 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 3DE3BA8F1658FF2E00CE504F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BAAA1658FF9500CE504F /* BOMarkdownParser.m in Sources */, + 3DE3BAAC1658FF9B00CE504F /* array.c in Sources */, + 3DE3BAAD1658FF9D00CE504F /* buffer.c in Sources */, + 3DE3BAAE1658FF9F00CE504F /* markdown.c in Sources */, + 3DE3BAAB1658FF9800CE504F /* NSAttributedString+Markdown.m in Sources */, + 3DE3BABF165903B500CE504F /* NSFont+UIKitAdditions.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3DE3BAC81659087100CE504F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3DE3BAE2165908E900CE504F /* MarkdownParserTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 3EB17E38161F17B100A27750 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -398,6 +630,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 3DE3BADF165908C000CE504F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3DE3BA931658FF2E00CE504F /* MarkdownParserMac */; + targetProxy = 3DE3BADE165908C000CE504F /* PBXContainerItemProxy */; + }; 3E575BDC161F29FF00286500 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 3EB17E3B161F17B100A27750 /* MarkdownParserApp */; @@ -411,6 +648,22 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ + 3DE3BA9E1658FF2E00CE504F /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 3DE3BA9F1658FF2E00CE504F /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 3DE3BAD41659087100CE504F /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 3DE3BAD51659087100CE504F /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; 3EB17E6D161F17B200A27750 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( @@ -422,7 +675,7 @@ 3EB17E8A161F184D00A27750 /* BOViewController.xib */ = { isa = PBXVariantGroup; children = ( - 3EB17E8B161F184D00A27750 /* en */, + 3D9E54F12715962C003DE4C5 /* Base */, ); name = BOViewController.xib; sourceTree = ""; @@ -438,29 +691,143 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 3DE3BAA61658FF2E00CE504F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", + ); + FRAMEWORK_VERSION = A; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MarkdownParserMac/MarkdownParserMac-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + INFOPLIST_FILE = "MarkdownParserMac/MarkdownParserMac-Info.plist"; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "de.umzugsagenten.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + WRAPPER_EXTENSION = framework; + }; + name = Debug; + }; + 3DE3BAA71658FF2E00CE504F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"", + ); + FRAMEWORK_VERSION = A; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MarkdownParserMac/MarkdownParserMac-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + INFOPLIST_FILE = "MarkdownParserMac/MarkdownParserMac-Info.plist"; + INSTALL_PATH = "@rpath"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = "de.umzugsagenten.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + WRAPPER_EXTENSION = framework; + }; + name = Release; + }; + 3DE3BADC1659087100CE504F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\""; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MarkdownParserMacTests/MarkdownParserMacTests-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + INFOPLIST_FILE = "MarkdownParserMacTests/MarkdownParserMacTests-Info.plist"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "de.umzugsagenten.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + WRAPPER_EXTENSION = octest; + }; + name = Debug; + }; + 3DE3BADD1659087100CE504F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\""; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MarkdownParserMacTests/MarkdownParserMacTests-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + INFOPLIST_FILE = "MarkdownParserMacTests/MarkdownParserMacTests-Info.plist"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_BUNDLE_IDENTIFIER = "de.umzugsagenten.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + WRAPPER_EXTENSION = octest; + }; + name = Release; + }; 3EB17E73161F17B200A27750 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; }; name = Debug; @@ -469,18 +836,40 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -493,6 +882,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; INFOPLIST_FILE = "App/MarkdownParser-Info.plist"; OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.boedewadt.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -504,6 +894,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; INFOPLIST_FILE = "App/MarkdownParser-Info.plist"; OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.boedewadt.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -519,6 +910,7 @@ "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", ); INFOPLIST_FILE = "Tests/MarkdownParserTests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.boedewadt.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = octest; @@ -535,6 +927,7 @@ "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", ); INFOPLIST_FILE = "Tests/MarkdownParserTests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "dk.boedewadt.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = octest; @@ -568,6 +961,24 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 3DE3BAA51658FF2E00CE504F /* Build configuration list for PBXNativeTarget "MarkdownParserMac" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3DE3BAA61658FF2E00CE504F /* Debug */, + 3DE3BAA71658FF2E00CE504F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3DE3BADB1659087100CE504F /* Build configuration list for PBXNativeTarget "MarkdownParserMacTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3DE3BADC1659087100CE504F /* Debug */, + 3DE3BADD1659087100CE504F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 3EB17E36161F17B100A27750 /* Build configuration list for PBXProject "MarkdownParser" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/MarkdownParser.xcodeproj/xcshareddata/xcschemes/MarkdownParser.xcscheme b/MarkdownParser.xcodeproj/xcshareddata/xcschemes/MarkdownParser.xcscheme index 57bb65b..6a31c2e 100644 --- a/MarkdownParser.xcodeproj/xcshareddata/xcschemes/MarkdownParser.xcscheme +++ b/MarkdownParser.xcodeproj/xcshareddata/xcschemes/MarkdownParser.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -55,22 +55,30 @@ - - + + + + + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -39,26 +48,19 @@ - - - - - + - - - + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSHumanReadableCopyright + Copyright © 2012 Bödewadt. All rights reserved. + NSPrincipalClass + + + diff --git a/MarkdownParserMac/MarkdownParserMac-Prefix.pch b/MarkdownParserMac/MarkdownParserMac-Prefix.pch new file mode 100644 index 0000000..a30cd5c --- /dev/null +++ b/MarkdownParserMac/MarkdownParserMac-Prefix.pch @@ -0,0 +1,8 @@ +// +// Prefix header for all source files of the 'MarkdownParserMac' target in the 'MarkdownParserMac' project +// + +#ifdef __OBJC__ + #import + #import "OS-X-ObjC-Compatibility.h" +#endif diff --git a/MarkdownParserMac/NSFont+UIKitAdditions.h b/MarkdownParserMac/NSFont+UIKitAdditions.h new file mode 100644 index 0000000..58a1006 --- /dev/null +++ b/MarkdownParserMac/NSFont+UIKitAdditions.h @@ -0,0 +1,17 @@ +// +// NSFont+UIKitAdditions.h +// MarkdownParser +// +// Created by Jan on 18.11.12. +// Copyright (c) 2012 Bödewadt. All rights reserved. +// + +#import + +@interface NSFont (UIKitAdditions) + ++ (NSFont *)italicSystemFontOfSize:(CGFloat)size; + +- (NSFont *)fontWithSize:(CGFloat)size; + +@end diff --git a/MarkdownParserMac/NSFont+UIKitAdditions.m b/MarkdownParserMac/NSFont+UIKitAdditions.m new file mode 100644 index 0000000..963e04c --- /dev/null +++ b/MarkdownParserMac/NSFont+UIKitAdditions.m @@ -0,0 +1,27 @@ +// +// NSFont+UIKitAdditions.m +// MarkdownParser +// +// Created by Jan on 18.11.12. +// Copyright (c) 2012 Bödewadt. All rights reserved. +// + +#import "NSFont+UIKitAdditions.h" + +@implementation NSFont (UIKitAdditions) + +// This can’t work, because no italic version of Lucida Grande is available! ++ (NSFont *)italicSystemFontOfSize:(CGFloat)size; +{ + NSFont *baseFont = [NSFont systemFontOfSize:((size == 0) ? [NSFont systemFontSize] : size)]; + return [[NSFontManager sharedFontManager] convertFont:baseFont toHaveTrait:NSItalicFontMask]; +} + +- (NSFont *)fontWithSize:(CGFloat)size; +{ + NSFontDescriptor *fontDescriptor = [self fontDescriptor]; + return [NSFont fontWithDescriptor:fontDescriptor size:((size == 0) ? [NSFont systemFontSize] : size)]; +} + + +@end diff --git a/MarkdownParserMac/en.lproj/InfoPlist.strings b/MarkdownParserMac/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/MarkdownParserMac/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/MarkdownParserMacTests/MarkdownParserMacTests-Info.plist b/MarkdownParserMacTests/MarkdownParserMacTests-Info.plist new file mode 100644 index 0000000..169b6f7 --- /dev/null +++ b/MarkdownParserMacTests/MarkdownParserMacTests-Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/MarkdownParserMacTests/MarkdownParserMacTests-Prefix.pch b/MarkdownParserMacTests/MarkdownParserMacTests-Prefix.pch new file mode 100644 index 0000000..3040d6d --- /dev/null +++ b/MarkdownParserMacTests/MarkdownParserMacTests-Prefix.pch @@ -0,0 +1,8 @@ +// +// Prefix header for all source files of the 'MarkdownParserMacTests' target in the 'MarkdownParserMacTests' project +// + +#ifdef __OBJC__ + #import + #import "OS-X-ObjC-Compatibility.h" +#endif diff --git a/MarkdownParserMacTests/en.lproj/InfoPlist.strings b/MarkdownParserMacTests/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..477b28f --- /dev/null +++ b/MarkdownParserMacTests/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/Source/BOMarkdownParser.h b/Source/BOMarkdownParser.h index 7d5a9cc..bdafa2f 100644 --- a/Source/BOMarkdownParser.h +++ b/Source/BOMarkdownParser.h @@ -8,6 +8,10 @@ #import +#if __MAC_OS_X_VERSION_MIN_REQUIRED + #import "OS-X-ObjC-Compatibility.h" +#endif + @class UIFont; @class UIColor; @class NSMutableParagraphStyle; diff --git a/Source/BOMarkdownParser.m b/Source/BOMarkdownParser.m index b4e8725..ccbfe8b 100644 --- a/Source/BOMarkdownParser.m +++ b/Source/BOMarkdownParser.m @@ -9,7 +9,11 @@ #import "BOMarkdownParser.h" #import "NSAttributedString+Markdown.h" -#import +#if TARGET_OS_IPHONE + #import +#else + #import +#endif #import "markdown.h" #import "buffer.h" @@ -26,7 +30,7 @@ @interface BOMarkdownParser (Private) - (void)setupAttributes; - (void)preParseSetupAttributes; -- (void)addAttribtuesToAttributedString:(NSMutableAttributedString *)output; +- (void)addAttributesToAttributedString:(NSMutableAttributedString *)output; @end @@ -153,7 +157,7 @@ - (NSAttributedString *)parseString:(NSString *)input; [_output appendAttributedString:[[NSAttributedString alloc] initWithString:bufferString attributes:baseAttributes]]; [_output beginEditing]; - [self addAttribtuesToAttributedString:_output]; + [self addAttributesToAttributedString:_output]; [_output endEditing]; NSAttributedString *result = [_output copy]; @@ -182,7 +186,9 @@ - (void)setupAttributes; self.listAttributes = @{NSParagraphStyleAttributeName: listParagraph}; self.listItemAttributes = @{}; - self.font = [UIFont systemFontOfSize:[UIFont systemFontSize]]; +#if TARGET_OS_IPHONE + CGFloat defaultSize = [UIFont systemFontSize]; + self.font = [UIFont systemFontOfSize:defaultSize]; self.textColor = [UIColor blackColor]; self.emphasizeFont = ^(UIFont *originalFont){ @@ -194,6 +200,19 @@ - (void)setupAttributes; CGFloat size = originalFont.pointSize; return [UIFont boldSystemFontOfSize:size]; }; +#else + CGFloat defaultSize = [UIFont systemFontSize]; + self.font = [UIFont fontWithName:@"Helvetica" size:defaultSize]; + self.textColor = [UIColor blackColor]; + + self.emphasizeFont = ^(UIFont *originalFont){ + return [[NSFontManager sharedFontManager] convertFont:originalFont toHaveTrait:NSItalicFontMask]; + }; + + self.doubleEmphasizeFont = ^(UIFont *originalFont){ + return [[NSFontManager sharedFontManager] convertFont:originalFont toHaveTrait:NSBoldFontMask]; + }; +#endif self.replaceLinkFont = self.doubleEmphasizeFont; } @@ -230,7 +249,7 @@ - (void)preParseSetupAttributes; self.currentHeaderAttributes = self.headerAttributes; } -- (void)addAttribtuesToAttributedString:(NSMutableAttributedString *)output; +- (void)addAttributesToAttributedString:(NSMutableAttributedString *)output; { [output updateFontAttributeInRangesWithStartMarker:startEmphMarker endMarker:endEmphMarker usingBlock:self.emphasizeFont]; [output updateFontAttributeInRangesWithStartMarker:startDoubleEmphMarker endMarker:endDoubleEmphMarker usingBlock:self.doubleEmphasizeFont]; diff --git a/Source/NSAttributedString+Markdown.m b/Source/NSAttributedString+Markdown.m index 194af98..4a66be3 100644 --- a/Source/NSAttributedString+Markdown.m +++ b/Source/NSAttributedString+Markdown.m @@ -10,8 +10,11 @@ #import "NSAttributedString+Markdown.h" #import -#import - +#if TARGET_OS_IPHONE + #import +#else + #import +#endif @implementation NSMutableAttributedString (BOMarkers) diff --git a/Source/OS-X-ObjC-Compatibility.h b/Source/OS-X-ObjC-Compatibility.h new file mode 100644 index 0000000..1199c93 --- /dev/null +++ b/Source/OS-X-ObjC-Compatibility.h @@ -0,0 +1,32 @@ +#ifndef _OS_X_OBJC_COMPATIBILITY_H_ +#define _OS_X_OBJC_COMPATIBILITY_H_ + +#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED + +#import + + +// Types +#define UIImage NSImage +#define UIFont NSFont +#define UIColor NSColor + +#define CGSize NSSize +#define CGPoint NSPoint +#define CGRect NSRect + +// Functions +#define CGSizeMake NSMakeSize +#define CGPointMake NSMakePoint +#define CGRectMake NSMakeRect +#define CGRectDivide NSDivideRect + +// Constants +#define CGRectMinXEdge NSMinXEdge +#define CGRectMinYEdge NSMinYEdge +#define CGRectMaxXEdge NSMaxXEdge +#define CGRectMaxYEdge NSMaxYEdge + +#endif + +#endif /* _OS_X_OBJC_COMPATIBILITY_H_ */ diff --git a/Submodules/libupskirt b/Submodules/libupskirt index d77a823..0309946 160000 --- a/Submodules/libupskirt +++ b/Submodules/libupskirt @@ -1 +1 @@ -Subproject commit d77a823e7a84b0990c7a47c02badce294e45bc83 +Subproject commit 030994695086d31ee58e075d4470f784349fb1a7 diff --git a/Tests/MarkdownParserTests-Info.plist b/Tests/MarkdownParserTests-Info.plist index 5126b4a..169b6f7 100644 --- a/Tests/MarkdownParserTests-Info.plist +++ b/Tests/MarkdownParserTests-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - dk.boedewadt.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/Tests/MarkdownParserTests.m b/Tests/MarkdownParserTests.m index a7df9e5..0ead430 100644 --- a/Tests/MarkdownParserTests.m +++ b/Tests/MarkdownParserTests.m @@ -7,9 +7,14 @@ // #import -#import +#if TARGET_OS_IPHONE + #import + #import "BOMarkdownParser.h" +#else + #import + #import +#endif -#import "BOMarkdownParser.h" #define BOAssertEqualRanges(a1, a2, description, ...) \ @@ -62,13 +67,27 @@ @interface MarkdownParserTests : SenTestCase @implementation MarkdownParserTests { BOMarkdownParser *parser; + + CGFloat defaultFontSize; + UIFont *defaultFont; + UIFont *defaultItalicFont; + UIFont *defaultBoldFont; } - (void)setUp { [super setUp]; +#if TARGET_OS_IPHONE parser = [NSClassFromString(@"BOMarkdownParser") parser]; +#else + parser = [BOMarkdownParser parser]; +#endif + + defaultFontSize = [parser.font pointSize]; + defaultFont = parser.font; + defaultItalicFont = parser.emphasizeFont(defaultFont); + defaultBoldFont = parser.doubleEmphasizeFont(defaultFont); } - (void)tearDown @@ -87,17 +106,17 @@ - (void)testEmphasis; NSRange range; NSDictionary *attr = [output attributesAtIndex:0 longestEffectiveRange:&range inRange:NSMakeRange(0, [output length])]; - NSDictionary *should = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont systemFontOfSize:14.]}; + NSDictionary *should = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: defaultFont}; STAssertEqualObjects(attr, should, @""); BOAssertEqualRanges(range, NSMakeRange(0, 4), @""); attr = [output attributesAtIndex:6 longestEffectiveRange:&range inRange:NSMakeRange(0, [output length])]; - should = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont italicSystemFontOfSize:14.]}; + should = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: defaultItalicFont}; STAssertEqualObjects(attr, should, @""); BOAssertEqualRanges(range, NSMakeRange(4, 3), @""); attr = [output attributesAtIndex:8 longestEffectiveRange:&range inRange:NSMakeRange(0, [output length])]; - should = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont systemFontOfSize:14.]}; + should = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: defaultFont}; STAssertEqualObjects(attr, should, @""); BOAssertEqualRanges(range, NSMakeRange(7, 5), @""); } @@ -114,7 +133,7 @@ - (void)testList; STAssertNotNil(output, @""); STAssertEqualObjects([output string], @"Here's a list:\n•\taaa\n•\tbbb\n•\tccc\nAnd that's it.\n", @""); - NSDictionary *shouldAttr = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont systemFontOfSize:14.]}; + NSDictionary *shouldAttr = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: defaultFont}; NSMutableDictionary *shouldListAttr = [NSMutableDictionary dictionaryWithDictionary:shouldAttr]; [shouldListAttr addEntriesFromDictionary:parser.listAttributes]; @@ -158,10 +177,10 @@ - (void)testHeaders; STAssertNotNil(output, @""); STAssertEqualObjects([output string], @"Header 1\nLorem ipsum.\nHeader 2\nLorem ipsum.\nHeader 3\nLorem ipsum.\n", @""); - NSDictionary *shouldAttr = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont systemFontOfSize:14.]}; - NSDictionary *shouldAttrHeader1 = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont boldSystemFontOfSize:24.]}; - NSDictionary *shouldAttrHeader2 = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont boldSystemFontOfSize:20.]}; - NSDictionary *shouldAttrHeader3 = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [UIFont boldSystemFontOfSize:18.]}; + NSDictionary *shouldAttr = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: defaultFont}; + NSDictionary *shouldAttrHeader1 = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [defaultBoldFont fontWithSize:(defaultFontSize + 10.0)]}; + NSDictionary *shouldAttrHeader2 = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [defaultBoldFont fontWithSize:(defaultFontSize + 6.0)]}; + NSDictionary *shouldAttrHeader3 = @{NSForegroundColorAttributeName: [UIColor blackColor], NSFontAttributeName: [defaultBoldFont fontWithSize:(defaultFontSize + 4.0)]}; NSRange range; NSDictionary *attr = [output attributesAtIndex:0 longestEffectiveRange:&range inRange:NSMakeRange(0, [output length])];