Adds iOS files for crossplatform calculator example.
This commit is contained in:
parent
116c54a8dd
commit
ca0c001345
9 changed files with 494 additions and 0 deletions
|
|
@ -0,0 +1,329 @@
|
||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 46;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
D531422A15BC8611005EFF20 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D531422915BC8611005EFF20 /* UIKit.framework */; };
|
||||||
|
D531422C15BC8611005EFF20 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D531422B15BC8611005EFF20 /* Foundation.framework */; };
|
||||||
|
D531422E15BC8611005EFF20 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D531422D15BC8611005EFF20 /* CoreGraphics.framework */; };
|
||||||
|
D531424D15BC87B6005EFF20 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = D531424A15BC87B6005EFF20 /* AppDelegate.m */; };
|
||||||
|
D531424E15BC87B6005EFF20 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D531424B15BC87B6005EFF20 /* main.m */; };
|
||||||
|
D531427215BC94B1005EFF20 /* backend.m in Sources */ = {isa = PBXBuildFile; fileRef = D531426F15BC94B1005EFF20 /* backend.m */; };
|
||||||
|
D531427415BC94B1005EFF20 /* system.m in Sources */ = {isa = PBXBuildFile; fileRef = D531427115BC94B1005EFF20 /* system.m */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
D531422515BC8611005EFF20 /* cross-calculator.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "cross-calculator.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
D531422915BC8611005EFF20 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||||
|
D531422B15BC8611005EFF20 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||||
|
D531422D15BC8611005EFF20 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||||
|
D531424715BC87A5005EFF20 /* cross-calculator-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "cross-calculator-Info.plist"; path = "resources/plist/cross-calculator-Info.plist"; sourceTree = "<group>"; };
|
||||||
|
D531424915BC87B6005EFF20 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = src/AppDelegate.h; sourceTree = "<group>"; };
|
||||||
|
D531424A15BC87B6005EFF20 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = src/AppDelegate.m; sourceTree = "<group>"; };
|
||||||
|
D531424B15BC87B6005EFF20 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = src/main.m; sourceTree = "<group>"; };
|
||||||
|
D531424C15BC87B6005EFF20 /* cross-calculator-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "cross-calculator-Prefix.pch"; path = "src/cross-calculator-Prefix.pch"; sourceTree = "<group>"; };
|
||||||
|
D531426715BC91EF005EFF20 /* tags.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = tags.sh; path = scripts/tags.sh; sourceTree = "<group>"; };
|
||||||
|
D531426815BC91EF005EFF20 /* xcode_prebuild.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = xcode_prebuild.sh; path = scripts/xcode_prebuild.sh; sourceTree = "<group>"; };
|
||||||
|
D531426F15BC94B1005EFF20 /* backend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = backend.m; path = build/nimcache/backend.m; sourceTree = "<group>"; };
|
||||||
|
D531427115BC94B1005EFF20 /* system.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = system.m; path = build/nimcache/system.m; sourceTree = "<group>"; };
|
||||||
|
D592E19015C7120F005258EA /* backend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = backend.h; path = build/nimcache/backend.h; sourceTree = "<group>"; };
|
||||||
|
D592E19115C71415005258EA /* nimbase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nimbase.h; path = build/nimcache/nimbase.h; sourceTree = "<group>"; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
D531422215BC8610005EFF20 /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
D531422A15BC8611005EFF20 /* UIKit.framework in Frameworks */,
|
||||||
|
D531422C15BC8611005EFF20 /* Foundation.framework in Frameworks */,
|
||||||
|
D531422E15BC8611005EFF20 /* CoreGraphics.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
D531421A15BC8610005EFF20 = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531426A15BC93D5005EFF20 /* build */,
|
||||||
|
D531424515BC874E005EFF20 /* resources */,
|
||||||
|
D531426615BC91E1005EFF20 /* scripts */,
|
||||||
|
D531424815BC87AD005EFF20 /* src */,
|
||||||
|
D531422815BC8611005EFF20 /* Frameworks */,
|
||||||
|
D531422615BC8611005EFF20 /* Products */,
|
||||||
|
);
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531422615BC8611005EFF20 /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531422515BC8611005EFF20 /* cross-calculator.app */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531422815BC8611005EFF20 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531422915BC8611005EFF20 /* UIKit.framework */,
|
||||||
|
D531422B15BC8611005EFF20 /* Foundation.framework */,
|
||||||
|
D531422D15BC8611005EFF20 /* CoreGraphics.framework */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531424515BC874E005EFF20 /* resources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531424615BC8756005EFF20 /* plist */,
|
||||||
|
);
|
||||||
|
name = resources;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531424615BC8756005EFF20 /* plist */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531424715BC87A5005EFF20 /* cross-calculator-Info.plist */,
|
||||||
|
);
|
||||||
|
name = plist;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531424815BC87AD005EFF20 /* src */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531424915BC87B6005EFF20 /* AppDelegate.h */,
|
||||||
|
D531424A15BC87B6005EFF20 /* AppDelegate.m */,
|
||||||
|
D531424B15BC87B6005EFF20 /* main.m */,
|
||||||
|
D531424C15BC87B6005EFF20 /* cross-calculator-Prefix.pch */,
|
||||||
|
);
|
||||||
|
name = src;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531426615BC91E1005EFF20 /* scripts */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531426715BC91EF005EFF20 /* tags.sh */,
|
||||||
|
D531426815BC91EF005EFF20 /* xcode_prebuild.sh */,
|
||||||
|
);
|
||||||
|
name = scripts;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531426A15BC93D5005EFF20 /* build */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D531426E15BC94A6005EFF20 /* nimrod */,
|
||||||
|
);
|
||||||
|
name = build;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
D531426E15BC94A6005EFF20 /* nimrod */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D592E19015C7120F005258EA /* backend.h */,
|
||||||
|
D531426F15BC94B1005EFF20 /* backend.m */,
|
||||||
|
D592E19115C71415005258EA /* nimbase.h */,
|
||||||
|
D531427115BC94B1005EFF20 /* system.m */,
|
||||||
|
);
|
||||||
|
name = nimrod;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
D531422415BC8610005EFF20 /* cross-calculator */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = D531423D15BC8611005EFF20 /* Build configuration list for PBXNativeTarget "cross-calculator" */;
|
||||||
|
buildPhases = (
|
||||||
|
D531426915BC926C005EFF20 /* ShellScript */,
|
||||||
|
D531422115BC8610005EFF20 /* Sources */,
|
||||||
|
D531422215BC8610005EFF20 /* Frameworks */,
|
||||||
|
D531422315BC8610005EFF20 /* Resources */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = "cross-calculator";
|
||||||
|
productName = "cross-calculator";
|
||||||
|
productReference = D531422515BC8611005EFF20 /* cross-calculator.app */;
|
||||||
|
productType = "com.apple.product-type.application";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
D531421C15BC8610005EFF20 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
attributes = {
|
||||||
|
LastUpgradeCheck = 0420;
|
||||||
|
ORGANIZATIONNAME = "Electric Hands Software";
|
||||||
|
};
|
||||||
|
buildConfigurationList = D531421F15BC8610005EFF20 /* Build configuration list for PBXProject "cross-calculator" */;
|
||||||
|
compatibilityVersion = "Xcode 3.2";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 0;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = D531421A15BC8610005EFF20;
|
||||||
|
productRefGroup = D531422615BC8611005EFF20 /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
D531422415BC8610005EFF20 /* cross-calculator */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
|
D531422315BC8610005EFF20 /* Resources */ = {
|
||||||
|
isa = PBXResourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
|
D531426915BC926C005EFF20 /* ShellScript */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = scripts/xcode_prebuild.sh;
|
||||||
|
};
|
||||||
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
D531422115BC8610005EFF20 /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
D531424D15BC87B6005EFF20 /* AppDelegate.m in Sources */,
|
||||||
|
D531424E15BC87B6005EFF20 /* main.m in Sources */,
|
||||||
|
D531427215BC94B1005EFF20 /* backend.m in Sources */,
|
||||||
|
D531427415BC94B1005EFF20 /* system.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
D531423B15BC8611005EFF20 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = (
|
||||||
|
armv7,
|
||||||
|
armv6,
|
||||||
|
);
|
||||||
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||||
|
"DEBUG=1",
|
||||||
|
"$(inherited)",
|
||||||
|
);
|
||||||
|
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||||
|
GCC_VERSION = "";
|
||||||
|
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-weak_library",
|
||||||
|
/usr/lib/libSystem.B.dylib,
|
||||||
|
);
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
D531423C15BC8611005EFF20 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = (
|
||||||
|
armv7,
|
||||||
|
armv6,
|
||||||
|
);
|
||||||
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||||
|
COPY_PHASE_STRIP = YES;
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_VERSION = "";
|
||||||
|
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
|
||||||
|
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
|
||||||
|
OTHER_LDFLAGS = (
|
||||||
|
"-weak_library",
|
||||||
|
/usr/lib/libSystem.B.dylib,
|
||||||
|
);
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
|
VALIDATE_PRODUCT = YES;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
D531423E15BC8611005EFF20 /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = "src/cross-calculator-Prefix.pch";
|
||||||
|
INFOPLIST_FILE = "resources/plist/cross-calculator-Info.plist";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
WRAPPER_EXTENSION = app;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
D531423F15BC8611005EFF20 /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = "src/cross-calculator-Prefix.pch";
|
||||||
|
INFOPLIST_FILE = "resources/plist/cross-calculator-Info.plist";
|
||||||
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
WRAPPER_EXTENSION = app;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
D531421F15BC8610005EFF20 /* Build configuration list for PBXProject "cross-calculator" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
D531423B15BC8611005EFF20 /* Debug */,
|
||||||
|
D531423C15BC8611005EFF20 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
D531423D15BC8611005EFF20 /* Build configuration list for PBXNativeTarget "cross-calculator" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
D531423E15BC8611005EFF20 /* Debug */,
|
||||||
|
D531423F15BC8611005EFF20 /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = D531421C15BC8610005EFF20 /* Project object */;
|
||||||
|
}
|
||||||
17
examples/cross_calculator/ios/readme.txt
Normal file
17
examples/cross_calculator/ios/readme.txt
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
In this directory you will find the iOS platform cross-calculator sample.
|
||||||
|
|
||||||
|
The iOS version of the code builds a view controller in charge of displaying
|
||||||
|
the interface to the user. The nimrod backend code is compiled into C code and
|
||||||
|
put into build/nimrod as a pre-build phase of the project.
|
||||||
|
|
||||||
|
When the calculate button is used the view controller calls the nimrod code to
|
||||||
|
delegate the logic of the operation and puts the result in a label for display.
|
||||||
|
All interface error checks are implemented in the view controller.
|
||||||
|
|
||||||
|
You can use this as a starting point for your project or look at the history of
|
||||||
|
the github project at https://github.com/gradha/nimrod-on-ios. That repository
|
||||||
|
documents the individual integration steps you would take for any iOS project.
|
||||||
|
|
||||||
|
This version of the iOS project is known to work with Xcode 4.2 and Xcode
|
||||||
|
4.4.1. The final binary can be deployed on iOS 3.x to 5.x supporting all iOS
|
||||||
|
platforms and versions available at the moment.
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
|
<key>CFBundleIconFiles</key>
|
||||||
|
<array/>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.github.nimrod.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${PRODUCT_NAME}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>UIApplicationExitsOnSuspend</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
13
examples/cross_calculator/ios/scripts/tags.sh
Executable file
13
examples/cross_calculator/ios/scripts/tags.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ ! -d src ]
|
||||||
|
then
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d src ]
|
||||||
|
then
|
||||||
|
~/bin/objctags -R \
|
||||||
|
build/nimcache \
|
||||||
|
src
|
||||||
|
fi
|
||||||
36
examples/cross_calculator/ios/scripts/xcode_prebuild.sh
Executable file
36
examples/cross_calculator/ios/scripts/xcode_prebuild.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Set this to the full path of your nimrod compiler
|
||||||
|
# since Xcode doesn't inherit your user environment.
|
||||||
|
PATH_TO_NIMROD=~/project/nimrod/bin/nimrod
|
||||||
|
# Set this to the location of the nimbase.h file so
|
||||||
|
# the script can update it if it changes.
|
||||||
|
PATH_TO_NIMBASE=~/project/nimrod/lib/nimbase.h
|
||||||
|
|
||||||
|
# Force errors to fail script.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# If we are running from inside the scripts subdir, get out.
|
||||||
|
if [ ! -d src ]
|
||||||
|
then
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
DEST_NIMBASE=build/nimcache/nimbase.h
|
||||||
|
|
||||||
|
# Ok, are we out now?
|
||||||
|
if [ -d src ]
|
||||||
|
then
|
||||||
|
# You may want to use a wildcard here to compile all nimrod files.
|
||||||
|
$PATH_TO_NIMROD objc --noMain --app:lib \
|
||||||
|
--nimcache:build/nimcache --compileOnly \
|
||||||
|
--header --cpu:i386 ../nimrod_backend/backend.nim
|
||||||
|
if [ "${PATH_TO_NIMBASE}" -nt "${DEST_NIMBASE}" ]
|
||||||
|
then
|
||||||
|
echo "Updating nimbase.h"
|
||||||
|
cp "${PATH_TO_NIMBASE}" "${DEST_NIMBASE}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Uh oh, src directory not found?"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
7
examples/cross_calculator/ios/src/AppDelegate.h
Normal file
7
examples/cross_calculator/ios/src/AppDelegate.h
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||||
|
|
||||||
|
@property (strong, nonatomic) UIWindow *window;
|
||||||
|
|
||||||
|
@end
|
||||||
39
examples/cross_calculator/ios/src/AppDelegate.m
Normal file
39
examples/cross_calculator/ios/src/AppDelegate.m
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
#import "AppDelegate.h"
|
||||||
|
|
||||||
|
#import "backend.h"
|
||||||
|
|
||||||
|
@implementation AppDelegate
|
||||||
|
|
||||||
|
@synthesize window = _window;
|
||||||
|
|
||||||
|
- (void)dealloc
|
||||||
|
{
|
||||||
|
[_window release];
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)application:(UIApplication *)application
|
||||||
|
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||||
|
{
|
||||||
|
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]
|
||||||
|
bounds]] autorelease];
|
||||||
|
// Override point for customization after application launch.
|
||||||
|
self.window.backgroundColor = [UIColor whiteColor];
|
||||||
|
[self.window makeKeyAndVisible];
|
||||||
|
|
||||||
|
// Call nimrod code and store the result.
|
||||||
|
const int a = 3;
|
||||||
|
const int b = 12;
|
||||||
|
const int c = myAdd(a, b);
|
||||||
|
|
||||||
|
// Add a label to show the results of the computation made by nimrod.
|
||||||
|
UILabel *label = [[UILabel alloc] initWithFrame:self.window.bounds];
|
||||||
|
label.textAlignment = UITextAlignmentCenter;
|
||||||
|
label.text = [NSString stringWithFormat:@"myAdd(%d, %d) = %d", a, b, c];
|
||||||
|
[self.window addSubview:label];
|
||||||
|
[label release];
|
||||||
|
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
#import <Availability.h>
|
||||||
|
|
||||||
|
#ifndef __IPHONE_3_0
|
||||||
|
#warning "This project uses features only available in iOS SDK 3.0 and later."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#endif
|
||||||
13
examples/cross_calculator/ios/src/main.m
Normal file
13
examples/cross_calculator/ios/src/main.m
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
#import "AppDelegate.h"
|
||||||
|
#import "backend.h"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
@autoreleasepool {
|
||||||
|
NimMain();
|
||||||
|
return UIApplicationMain(argc, argv, nil,
|
||||||
|
NSStringFromClass([AppDelegate class]));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue