我正在研究使用Delphi XE2 DataSnap服务器将数据从SQL服务器推送到iPad应用程序的可行性.
我已经编写了Datasnap服务器应用程序,现在正在查看iOS应用程序.TServerMethod将数据作为iOS中的TDataSet返回.不清楚的是如何将Xcode中生成的TDataSet作为NSMutableArray提取?以下是DSProxy.m中生成的代码: -
-(id) getTServerMethods1_GetMileageList {
return [NSArray arrayWithObjects:
[DSRESTParameterMetaData parameterWithName: @"Value" withDirection:Input withDBXType:WideStringType withTypeName:@"string"],
[DSRESTParameterMetaData parameterWithName: @"" withDirection:ReturnValue withDBXType:TableType withTypeName:@"TDataSet"],
nil];
Run Code Online (Sandbox Code Playgroud)
}
到目前为止,我们一直在使用maven依赖项来指定库,即:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>3.6.10.Final</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>8.4-702.jdbc4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是,我们现在在不同的机器上运行完全相同的.war文件,并且希望保持相同的One-war-file-to-rule-all-all,但不希望使用较旧的驱动程序来解决问题在postgres 9.1安装上(例如,当字节数组编码默认值已更改时).Cliff-Claven esque喜欢可能无关紧要的信息,但无论如何都添加了:这两个安装的操作系统是Mac OS X Server,Postgres 8.4一个运行在10.6,9.1运行在10.7.我们无需升级任何数据(从头开始的单独实例).
也许它更像是一个maven问题而不是其他任何问题,但我似乎无法看到任何与我的情况有关的问题.我确实找到了这个,但是它的旧版Hibernate 3.5不再适用了.
是的,这是非常相关的这个问题,但我认为这个问题是充分回答了的XCode 3.不知道这是否应合并与否.
所以 - 使用那里的类似指令,我一直有很好的效果,将构建数字编码到存档的.ipa文件中,这样Organizer会显示类似"1.0.3281"的版本(其中3281是通过下面的构建脚本附加的修订版)到我的iOS目标):
REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
echo "REV=$REV"
echo "#define kRevisionNumber @\"$REV\"" > ${PROJECT_DIR}/revision.h
echo "INFOPLIST_PATH=${INFOPLIST_PATH}"
BASEVERNUM=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${INFOPLIST_FILE}" | sed 's/,/, /g'`
echo "BASEVERNUM=$BASEVERNUM"
PLISTARG1="Set :CFBundleVersion $BASEVERNUM.$REV"
echo "PLISTARG1=$PLISTARG1"
/usr/libexec/PlistBuddy -c "$PLISTARG1" "${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}
Run Code Online (Sandbox Code Playgroud)
然而,XCode 4(我已经爱上了)显然需要进行一些调整,因为这种神奇的方式只能起作用.以下是上述脚本的结果.
REV=3281
INFOPLIST_PATH=Foo.app/Info.plist
BASEVERNUM=1.0
PLISTARG1=Set :CFBundleVersion 1.0.3281
Run Code Online (Sandbox Code Playgroud)
我可以通过寻找在〜/库/.../ Foo.app/Info.plist,是的,它没有更新的正确版本,请参阅:
<key>CFBundleVersion</key>
<string>1.0.3281</string>
Run Code Online (Sandbox Code Playgroud)
显然有一个额外的文件需要更新..也许在.xcarchive?关于在哪里钻取的第一个建议?